Podroid

May 28, 2026 · View on GitHub

Podroid logo

Podroid

Run Linux containers and a full Linux desktop on your Android phone. No root.

A real Alpine Linux VM with its own kernel - not a chroot or proot trick - so Podman, Docker and LXC behave exactly like they do on a server.

Release Downloads Stars License Android 9+ arm64

Website · Documentation · Download APK

Home screen before the VM starts
Home
Home screen with the VM running and network info
Running
Built-in terminal showing Alpine system info
Terminal
Terminal Quick Settings with themes and fonts
Themes & fonts

What you get

  • Podman, Docker and LXC - pre-installed, ready the moment it boots
  • A real VM - Alpine Linux on a custom kernel via QEMU, or hardware-accelerated AVF on supported pKVM devices
  • In-app terminal - full xterm-256color, 122 color themes, 13 fonts, live resize
  • X11 desktop - run GUI Linux apps in a built-in viewer with touch, keyboard, mouse and audio
  • USB passthrough, SSH, port forwarding and a guest-to-Android bridge
  • English and 中文, no root, any arm64 device on Android 9+

Quick start

  1. Download the APK and install it.
  2. Tap Start VM, wait for Ready!, open the terminal.
# rootless containers, straight away
podman run --rm alpine echo "hello from a container"
docker run -d -p 8080:80 nginx

# expose that container to your phone and LAN, right from the VM shell
podroid-forward add 8080 8080 tcp     # TCP or UDP, on both the QEMU and AVF backends
curl http://<phone-ip>:8080

# SSH in from your laptop (enable SSH in the setup wizard or Settings)
ssh root@<phone-ip> -p 9922        # password: podroid

Setup, the two backends, networking, the X11 viewer and troubleshooting all live in the documentation.

Build

git clone https://github.com/ExTV/Podroid.git
cd Podroid
./build-all.sh all     # kernel, rootfs, QEMU and APK (needs Docker + Android SDK/NDK)

Per-component builds and toolchain details: CONTRIBUTING.md.

Contributing

Contributions of every size are welcome: bug reports, kernel-config tweaks, new themes, UI polish, X11 input fixes, anything.

  • Pull requests: read CONTRIBUTING.md first. Keep changes scoped, run ./build-all.sh test before pushing, and explain why in the PR description.
  • Bug reports: open an issue with your device and Android version, a short repro, and the diagnostic log (Settings → Export Diagnostic Log in the app).

Credits

QEMUMachine emulation
TermuxTerminal emulator engine
Alpine LinuxThe guest distribution

Full list in CREDITS.md.

License

GPLv2. If Podroid is useful to you, a star helps other people find it.