back to home

ravindu644 / Droidspaces-OSS

A lightweight, LXC-inspired container runtime for Android and Linux. Run full Linux distributions natively with zero performance penalty

479 stars
31 forks
0 issues
KotlinCJava

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ravindu644/Droidspaces-OSS in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/ravindu644/Droidspaces-OSS)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

--- Droidspaces **Droidspaces** is a lightweight, portable Linux containerization tool that lets you run full Linux environments on top of Android or Linux, with complete init system support including **systemd**, **OpenRC**, and other init systems (runit, s6, etc.). What makes Droidspaces unique is its **zero-dependency, native execution** on both Android and Linux. It's statically compiled against musl libc. If your device runs a Linux kernel, Droidspaces runs on it. No Termux, no middlemen, no setup overhead. • **Tiny footprint:** under 260KB per platform • **Truly native:** runs directly on Android and Linux from the same binary • **Wide architecture support:** , , , and as a single static binary • **Beautiful Android app:** manage unlimited containers and do everything the CLI can, all from a clean, intuitive GUI **Android** + **Linux Namespaces** = **Droidspaces**. Since Android is built on the Linux kernel, Droidspaces works seamlessly on Linux Desktop too. Both platforms are equally supported and maintained. View Project's Screenshots (Linux & Android) Linux Showcase Ubuntu + foreground mode Android Home Beautiful home screen Android Containers 3 containers installed in the container menu --- Quick Navigation • What is Droidspaces? • Features • Droidspaces vs Chroot • Droidspaces vs LXC/Docker on Android • Requirements • Android • Rooting Requirements • Android Kernel Requirements • Non-GKI (Legacy Kernels) • GKI (Modern Kernels) • Linux Desktop • Installation • Usage • Additional Documentation • Credits --- What is Droidspaces? Droidspaces is a **container runtime** that uses Linux kernel namespaces to run full Linux distributions with a real init system (systemd, OpenRC, etc.) as PID 1. Unlike traditional chroot, which simply changes the apparent root directory, Droidspaces creates proper process isolation. Each container gets its own PID tree, its own mount table, its own hostname, its own IPC resources, and its own cgroup hierarchy. The result is a full Linux environment that feels like a lightweight virtual machine, but with zero performance overhead because it shares the host kernel directly. Droidspaces is designed to work natively on both **Android** and **Linux Desktop**. On Android, it handles all the kernel quirks, SELinux conflicts, complex networking scenarios, and encryption gotchas that break other container tools. On Linux Desktop, it works out of the box with no additional configuration needed. The entire runtime is a **single static binary** under 260KB, compiled against musl libc with no external dependencies. --- Features | Feature | Description | |---------|-------------| | **Init System Support** | Run systemd, OpenRC or any other init system as PID 1. Full service management, journald logging, and proper boot/shutdown sequences. | | **Namespace Isolation** | Complete isolation via PID, MNT, UTS, IPC, and Cgroup namespaces. Each container has its own process tree, mount table, hostname, IPC resources, and cgroup hierarchy. | | **Network Isolation** | **3 Networking Modes (Host, NAT, None)**. Pure network isolation via (NAT/None modes) or shared host networking (Host mode). Works on both Android and Linux. | | **Port Forwarding** | Forward host ports to the container in NAT mode (e.g., ). Supports TCP and UDP. | | **Volatile Mode** | Ephemeral containers using OverlayFS. All changes are stored in RAM and discarded on exit. Perfect for testing and development. | | **Custom Bind Mounts** | Map host directories into containers at arbitrary mount points. Supports both chained ( ) and comma-separated ( ) syntax. | | **Config File Support** | Load configurations directly from files using . Integrates seamlessly with the CLI overrides ( is supported) and automatically syncs to the workspace for persistence. | | **Hardware Access Mode** | Expose host hardware (GPU, cameras, sensors, USB) to the container via devtmpfs. Enables GPU acceleration with Turnip + Zink / Panfrost on supported Android devices. PulseAudio and Virgl are also supported in Android | | **Multiple Containers** | Run unlimited containers simultaneously, each with its own name, PID file, and configuration. Start, stop, enter, and manage them independently. | | **In-container Reboot Support** | Handles in-container syscalls via a strict 3-level PID hierarchy to autonomously reinitialize the container sequence - TL;DR: you can restart the container remotely without touching Droidspaces! | | **Android Storage** | Bind-mount into the container for direct access to the device's shared storage. | | **PTY/Console Support** | Full PTY isolation. Foreground mode provides an interactive console with proper terminal resize handling (binary only with the flag) | | **Multi-DNS Support** | Configure custom DNS servers (comma-separated) that bypass the host's default DNS lookup. | | **IPv6 Support** | Enable IPv6 networking in containers with a single flag. | | **SELinux Permissive Mode** | Optionally set SELinux to permissive mode during container boot if needed. | | **Rootfs Image Support** | Boot containers from ext4 files with automatic loop mounting, filesystem checks, and SELinux context hardening if needed. **The Android app also supports creating portable containers in rootfs.img mode** [How to create an ext4 rootfs.img manually ? ] | | **Auto-Recovery** | Automatic stale PID file cleanup, container scanning for orphaned processes, and robust config resurrection via in-memory metadata syncing from . | | **Cgroup Isolation (v1/v2)** | Per-container cgroup hierarchies ( ) with full systemd compatibility. Supports both legacy v1 and modern v2 hierarchies. | | **Adaptive Security & Deadlock Shield** | Kernel-aware BPF filters resolve FBE keyring conflicts automatically on legacy kernels. A manual **Deadlock Shield** toggle is available to fix the specific VFS deadlock on affected legacy devices (e.g., kernel 4.14.113). When the shield is disabled (default), Droidspaces grants full name…