Droidspaces
Открыть в Telegram
https://github.com/ravindu644/Droidspaces-OSS CI: @DroidspacesCI
БольшеСтрана не указанаТехнологии и приложения33 960
1 402
Подписчики
+924 часа
+477 дней
+14830 дней
Архив постов
1 401
If Droidspaces doesn't work for you, it falls into two categories.
01. Your kernel version
- If you have a legacy kernel, probably 4.19 or older, you fall into this category.
- As I clearly stated in multiple places in my README, you cannot run modern systemd like v258 on these kernels. They fail to boot, every systemctl command hangs, and everything will be broken. Even LXC cannot boot them. There is no fix for this.
If you wonder why, modern systemd requires modern syscalls, which older kernels often lack. So, if you run foreground mode with the -f flag, you will see thousands of "function not implemented" errors.
What to try on these kernels?
You can try anything below systemd v258, or any distro with a different init system like OpenRC, runit, s6, etc.
My picks: Ubuntu 20.04, 22.04, 24.04, 25.04, 25.10; Alpine 3.23; Gentoo OpenRC flavor.
Notes: Especially in Kernel 4.14.113, which the Galaxy S10 uses by default, you cannot boot any systemd-based distros without enabling the "Deadlock Shield". This is a kernel bug that causes the entire systemd and host to become unresponsive when booting a container.
Symptoms: Systemd hangs, even in older distros. The entire host becomes unresponsive. You cannot reboot or power off your device.
Solution: Either enable Deadlock Shield or use an upstreamed kernel like 4.14.356.
02. Your rooting solution
- As I clearly stated in the official documentation, Droidspaces on Magisk or Apatch is highly unstable. You will face weird issues with these solutions.
More info:
https://github.com/ravindu644/Droidspaces-OSS/issues/11#issuecomment-4036688816
Droidspaces requires a custom kernel anyway. Why can't anyone switch to KernelSU when compiling their kernels?
1 401
To fix DNS-related issues in existing systemd-based containers (containers already installed using the Droidspaces app), please run this command as root inside the container's shell:
cat > "/etc/systemd/resolved.conf.d/dns.conf" << 'EOF'
[Resolve]
DNSStubListener=no
EOF1 401
v5.7.0 has been released..!
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.7.0
What's changed?
- added support for built-in terminal emulator support
- add support for configuring and managing static NAT IP addresses for containers
- renamed the --enable-ipv6 toggle to --disable-ipv6
- app: Implement sparse image management for containers, enabling rootfs migration and image resizing
- app: added a help card for new users in the Home screen
- Implement a transparent DNS proxy for NAT containers
- add new /proc and /sys/vm masks to prevent Android GPU/display and Vulkan corruption
- default container user to 'root' and prioritize su -l for shell and command execution to ensure proper login context
- fix: clean up cgroup subtrees on container stop and enter/run exit - fixes cgroups leaks
- adjust /tmp mounting condition to include Android devices without Termux-X11
- implement log file rotation and rate-limit DNS proxy upstream timeout warnings
- fix: prevent memory leak of unknown config lines during container shutdown
- fix: preserve environment variables during configuration reload in internal reboots
@Droidspaces1 401
Here's a test APK:
What's added:
- Static IPv4 support in NAT mode - fully configurable via the container config menu
- Ability to resize the sparse image
- Ability to migrate from a directory-based container to a rootfs.img-based container
- Added a help card to the home page
If you find any issues, please let us know in the discussion group.
1 401
+3
Added support for static IPs in NAT mode.
Now, the IP won’t reset after a container reboot or fresh boot :)
This is very useful for accessing container services directly from the host.
1 401
Since no one is dropping a single screenshot, I assume the build is stable 😅
How can I tell if this has bugs in some whacky setup? You guys need to test it.
Even if it doesn’t have any bugs, you still need to report to me
Since the project is popular now, I can’t release updates every day without testing like a madman :D
Thanks for understanding the situation :)
1 401
Added a guide to fix the Wi-Fi power-saving issue on Android devices, which makes the networking experience sluggish when the device’s screen is turned off:
https://github.com/ravindu644/Droidspaces-OSS/blob/main/Documentation/Troubleshooting.md#wi-fi-power-save-on-causing-sluggish-networking-on-android
1 401
If you are from Reddit and wondering how my S10 Jellyfin server performs,this is how:
As you can see, I'm constantly pulling heavy FLACs from the server in real-time.
Most of the FLACs are larger than 50MB.
During this testing,the CPU stays below 20%,with idle usage around 9-10%.
Temperatures stayed the same,all below 40C.Even my room temp is ~34C rn.
So,this is a huge win for me.
This setup is very efficient for streaming my music :)
Also,Android didn't kill the server.It's up and running for 8 hours according to uptime.Also,during previous testing,it held up to 2 days until my manual reboots.
1 401
Droidspaces v5.6.0 has been released!
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.6.0
Note: After installing this release, if you are using an old kernel like 4.14.113 (this issue is specific to this kernel version), and systemd appears to hang,
systemctl commands do not work, or your phone becomes unresponsive, you are affected by the grab_super() VFS deadlock bug.
Strangely, this issue does not occur on 4.9 kernels and only manifests on 4.14.113, which affects most devices, particularly Samsung devices released between 2019 and 2020.
Previously, to fix this, all clone() and unshare() syscalls had to be blocked to prevent systemd from creating sandboxes, which resolved the deadlock and allowed systemd to boot. However, this came at the cost of losing the ability to run Docker, Podman, or LXC inside a Droidspaces container on any kernel below 5.x.
In this release, that hard-coded block has been completely removed. Users can now enable the "Deadlock Shield" only if needed, directly from the container configuration menu.
As a result, users already running an upstream kernel such as 4.14.356 can now run Docker inside Droidspaces, while affected users can still enable the Deadlock Shield manually.
Also, this release focuses on fixing critical vulnerabilities in the project related to common exploits, further hardening security, and fixing a critical security hole where a device's block devices were exposed under /sys/block, even in non `--hw-access` mode.1 401
Fixed Docker/Podman/LXC on Droidspaces containers when running on older kernels!! 🥳
No seccomp shield needed from now on..! 😇
1 401
Run real Linux on Android natively with Droidspaces
As you can see, I converted my Galaxy S10 5G into a portable home server with its own isolated network stack.
Using an Ubuntu 24.04 LTS container in Droidspaces, I set up Jellyfin, Samba, Tailscale, OpenSSH Server, and Fail2Ban in one go - no trial and error.
This is essentially a 1:1 replacement for the whacky Docker/LXC setups on Android. It just works and runs natively with zero overhead.
Droidspaces containers are fully isolated from Android. They can’t detect that they are running on an Android device and cannot see Android processes, mounts, network interfaces, or other devices on your local network - making it a secure environment for running services. This is not chroot or proot.
I access the container through Tailscale. Only ports 445 and 8096 are forwarded, allowing access to the Samba share and Jellyfin server from other devices on my home network via
<phone-ip>:<port>.
Project: https://github.com/ravindu644/Droidspaces-OSS1 401
Droidspaces v5.5.0 has been released!
What is Droidspaces in the first place? 👀
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 like runit and s6.
What makes Droidspaces unique is its zero-dependency, native execution on both Android and Linux. It is statically compiled against musl libc. If your device runs a Linux kernel, Droidspaces runs on it. No Termux, no middlemen, no setup overhead.
[screenshots]
This will be the final release of Droidspaces. Since the project is stable, I have decided to go back to zen mode 🌀
The primary goal of designing Droidspaces was to run Ubuntu 22.04 on my broken Galaxy S10. Since it has 256GB of storage, I can store my music collection on it and stream from anywhere in the world.
I already did this when I was away from development in January, but I was not satisfied because the original Droidspaces was so messed up it could not even boot systemd containers on my S10, which has Kernel 4.14.113 and It was limited to run Alpine Linux only.
Throughout February, I rewrote it from scratch; After a whole month of testing, debugging, and hardening security and isolation, it is finally ready.
By installing this latest release, you will be able to:
- Install containers up to Ubuntu 25.10 / Systemd v257.9 on legacy kernels like 4.14, without any issues, and with zero failed jobs in systemctl thanks to the latest cgroups-related changes.
- Enjoy full networking isolation with three network modes, including port forwarding support in NAT mode with a tiny DHCP server and real-time monitoring for network changes to switch between Wi-Fi and Data instantly, with almost 100% uptime.
- Use native GPU acceleration on Intel and AMD graphics in Desktop Linux, as well as out-of-the-box Termux X11 and virgl support on Android.
- Fixed terminal handling when using the
login command in the container shell and CTRL+ALT+Q shutdown in foreground mode.
Additional security and misc. improvements have been made across both the C backend and the app.
The app can do everything the C backend does right now, perfectly balanced ❤️
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.5.0
Everything you need to know is already documented in the project's readmes.
I will take a little break from this project now :)
@Droidspaces x @ravindu1 401
Ubuntu 25.10 is barely working with 0 failed units on an older Linux 4.14.113 💀
Even this setup is currently stable "for now" - if Ubuntu releases a systemd update that upgrades systemd to v258+, the container will be cooked.
All of this is currently possible because, as of 2026-03-09, Ubuntu 25.10 uses systemd v257.9.
Only 0.1 more is needed to turn the container into a paperweight.
1 401
Hotfix for this issue in the app:
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.4.2-hotfix
1 401
As the project is now stable,
I'm stepping back from Droidspaces development until September 2026.
I need to focus the next five months on my studies.
If you encounter any bugs, please report them before 10 PM GMT+5:30.
The
final-net-isolation branch will be merged into the main branch as it is stable, and the project will remain on my GitHub for some time.1 401
Droidspaces v5.4.2-hotfix
https://github.com/ravindu644/Droidspaces-OSS/releases/tag/v5.4.2-hotfix
this release fixes:
- "Operation not permitted" ping failure in NAT mode
- Running
login from terminating the shell when using the droidspaces enter mode