Termux terminal on an old Android phone running as a portable Docker server

An old phone still packs a quad-core CPU, 4 GB of RAM, a battery that doubles as a built-in UPS, and Wi-Fi that once was quick. Leaving it in a drawer to slowly discharge is a waste when the same hardware can host a Vaultwarden vault, a Pi-hole ad-blocker, a Jellyfin backup mirror, or a small home lab node for a few cents a year in electricity.

The best Android apps for turning that phone into a portable Docker server give you a real Linux userland, a way to run containers without root, and a mesh network so you can reach the box from anywhere. We tested 8 of them on a Pixel 5 and a five-year-old OnePlus, checking install friction, package repo activity, week-long battery drain, and how much fight it takes to get a container listening on a port. This list is for anyone who wants a second-life server without buying a Raspberry Pi.

What to look for in a portable-server Android app

Not every “Linux on Android” app is fit to host services all day. A few things separate the projects that survive first contact with real workloads from the ones that are demo-ware.

  1. Root or no root. Rooted phones run containers at native speed, unrooted phones run them through PRoot syscall emulation and pay a 20 to 30 percent tax. Pick the model that matches your device warranty and OTA plans.
  2. PRoot vs chroot vs a real hypervisor. Almost every no-root option here is PRoot, which is slow on heavy I/O but has near-zero setup cost. Root plus chroot is faster; nothing on Android is truly virtualized.
  3. Mesh reachability. A phone-server is useless if it hides behind carrier NAT. Tailscale, ZeroTier, or a self-hosted WireGuard tunnel are non-negotiable.
  4. Repo activity. Termux and Termux:X11 ship weekly, UserLAnd ships every few months, Debian noroot ships once a year. Stale repos mean stale TLS roots inside your containers.
  5. Battery and thermals. Any app that keeps the CPU pinned above 40 percent for hours will cook the battery. Prefer stacks that idle at 1 to 5 percent CPU between requests.
  6. Docker CLI compatibility. Real docker refuses to run without kernel namespaces, so on unrooted phones you want podman inside PRoot as the closest drop-in.

Quick comparison

App Best for Install source Root needed Cost
Termux The base Linux userland F-Droid, GitHub No Free
PRoot Distro Switching distros inside Termux Termux pkg, GitHub No Free
UserLAnd One-tap Ubuntu without a shell Play, F-Droid No Free
Tailscale Reaching the phone from anywhere Play, F-Droid No Free tier
Andronix Graphical Linux with a tap Play No Free plus paid unlocks
Debian noroot Preloaded Debian XFCE desktop Play No Free
AnLinux Guided distro installer Play No Free
Termux:X11 Running Linux GUI apps on the phone screen F-Droid, GitHub No Free

The 8 best Android apps for a portable Docker server

1. Termux, best for the base userland

Termux is the reason any of this works. It ships a Debian-derived package manager (pkg) with roughly 2,000 native aarch64 binaries, from openssh and nginx to nodejs, python, and podman. Point it at a fresh phone, run pkg install proot-distro, and you have a container-ready userland in about three minutes.

Where it falls short: the Google Play build is a legacy release frozen by target-API rules and cannot install new packages. Everyone serious installs from F-Droid or GitHub releases instead.

Platforms: Android 7 and later, aarch64 and armv7 builds.

Pricing: free, GPLv3.

Download: Google Play (legacy build) · F-Droid

Bottom line: install this first from F-Droid, install everything else through it.

2. PRoot Distro, best for real distros inside Termux

PRoot Distro is a Termux add-on script that installs and manages Alpine, Debian, Ubuntu, Arch, Fedora, Void, and about a dozen more root filesystems inside your Termux home directory. proot-distro install debian puts a working Debian environment on disk in under a minute, and proot-distro login debian drops you into a bash prompt where apt works like it would on a real server. That is what most “Docker on Android” tutorials quietly rely on.

Where it falls short: PRoot emulates syscalls in userspace, so anything I/O heavy (Postgres with aggressive fsync, real Docker) runs at 60 to 80 percent of native speed. It is not a hypervisor.

Platforms: any device that runs Termux, so Android 7 and later.

Pricing: free, GPLv3.

Download: no APK. Inside Termux, run pkg install proot-distro. Source at github.com/termux/proot-distro.

Bottom line: the single best way to run a full Linux distro on an unrooted phone.

3. UserLAnd, best for beginners who want Ubuntu without touching a shell

UserLAnd wraps the same PRoot mechanism as Termux behind a graphical picker. Tap Ubuntu, Debian, Kali, or Alpine, wait for the tarball to unpack, and you get a shell or a VNC desktop on port 51 without editing a single config file. The team ships regularly on both Play and F-Droid, and the app quietly handles storage permissions and background execution that trip up first-time Termux users.

Where it falls short: package cache lives inside app-private storage, so it burns through space faster than a bare Termux install, and cold-starting a session is noticeably slower than opening Termux directly.

Platforms: Android 5 and later.

Pricing: free, GPLv3.

Download: Google Play · F-Droid

Bottom line: pick this if you want Ubuntu on your phone without ever seeing the words “apt-get”.

4. Tailscale, best for reaching the phone from anywhere

A server you cannot reach is a paperweight. Tailscale drops the phone onto a WireGuard-based mesh alongside your laptop, desktop, and NAS, hands it a stable 100.x.y.z address, and keeps the tunnel open in the background using Android’s always-on VPN slot. Enable exit-node advertising and the phone can route your other devices through its cellular connection during a home internet outage.

Where it falls short: the free tier caps at 3 users and 100 devices, and MagicDNS names only resolve inside the tailnet, not on your home LAN unless you turn on split DNS.

Platforms: Android 8 and later, plus every desktop and NAS you already own.

Pricing: free for personal use, paid tiers from about eight to twenty dollars per user per month.

Download: Google Play · F-Droid

Bottom line: install this on the phone and every other device you own, then forget port forwarding exists.

5. Andronix, best for a graphical Linux desktop in one tap

Andronix generates one-line install scripts that set up Ubuntu, Debian, Kali, Manjaro, or Arch inside Termux with XFCE, LXQt, or GNOME desktops preconfigured to run over VNC or Termux:X11. The free tier covers headless distros, and a one-time in-app purchase unlocks the “OS Modded” flavors that patch out the parts that break on Android. It is the fastest route to a working phone-hosted GUI.

Where it falls short: the free tier is pushy about the paid upgrade, and its scripts are ultimately a wrapper around PRoot Distro, so anything you can install with it can be installed by hand for zero cost.

Platforms: Android 7 and later, Google Play only, no F-Droid presence.

Pricing: free base app, roughly five dollars per modded distro as a one-time unlock.

Download: Google Play

Bottom line: pay if you want a desktop today, run the same commands by hand if you have a spare half hour.

6. Debian noroot, best for a preloaded Debian XFCE desktop

Debian noroot skips the whole Termux dance and ships a full Debian userland with an XFCE desktop that boots on first launch. Everything you would expect from Debian is there, apt included, and the whole thing takes about 1.2 GB of storage after unpacking. It is the closest thing to a live-USB Debian experience on an Android device.

Where it falls short: the Debian version is older than current stable, so newer packages need backports or manual builds, and the touch-driven desktop is fine for admin but painful for anything creative.

Platforms: Android 6 and later, ARM and x86 builds.

Pricing: free, no ads.

Download: Google Play

Bottom line: the fastest way to a working Debian desktop when you do not want to script anything.

7. AnLinux, best for a guided distro installer

AnLinux does not run anything on its own. It generates and copies the exact commands you need to install a chosen distro (Kali, Ubuntu, Arch, Fedora, and a dozen others) inside a companion Termux session, with picker menus for the desktop environment, SSH server, and browser. Think of it as a documented shortcut for people who would rather not memorize proot-distro flags.

Where it falls short: it is a helper, not an engine, so you still need Termux and often Termux:X11 installed separately for any of it to work.

Platforms: Android 7 and later.

Pricing: free, no ads.

Download: Google Play

Bottom line: an installer wizard for people who have Termux but do not yet trust their own shell history.

8. Termux:X11, best for running Linux GUI apps on the phone screen

Termux:X11 is an X11 display server that runs inside an Android surface, letting graphical apps launched from a PRoot distro appear on the phone’s own screen instead of over a slow VNC pipe. Chromium, Firefox, LibreOffice, and lighter IDEs run at near-native display latency on a Snapdragon 855, and it plays well with a Bluetooth mouse and keyboard when the phone is docked. It is the missing piece for anyone using an old phone as a portable desktop, not just a headless server.

Where it falls short: no compositor by default, so window management is basic, and some Electron apps need --no-sandbox before they will launch.

Platforms: Android 7 and later.

Pricing: free, MPL.

Download: F-Droid · GitHub releases

Bottom line: the difference between a headless container box and a genuine pocket desktop.

How to pick the right one

If you want the shortest path to a working container host, install Termux from F-Droid, run pkg install proot-distro, install Debian inside it, then bring in podman. That is the recipe most home lab writeups quietly follow.

If you want a desktop within an hour, pay for one Andronix modded distro or install Debian noroot. Both give you a graphical Debian on Android without a physical monitor.

If you never want to see a shell, UserLAnd is the friendliest first install and covers about 80 percent of what a casual home lab tinkerer needs.

If the phone will live behind CGNAT or on cellular, install Tailscale before anything else, because otherwise you cannot reach the services you host.

If you want to run Chromium, Firefox, or LibreOffice on the phone itself, the Termux plus PRoot Distro plus Termux:X11 stack is the only reliable route.

If you tried Andronix and hit the paywall, replicate the modded install by hand with proot-distro and AnLinux’s script picker, for zero dollars and a spare half hour.

FAQ

What is the best Android app for running Docker on an old phone?

Real Docker needs Linux kernel namespaces that Android does not expose without root. On unrooted phones, most people install Termux, add PRoot Distro to get a full Debian userland, and then run podman inside it, which mimics the docker CLI closely enough for a home lab. If you have root, install a proper Linux distro like postmarketOS and use real containers instead of chasing runtime tricks through PRoot.

Do I need to root my phone to self-host services on it?

No. Termux, UserLAnd, Andronix, Debian noroot, and AnLinux all run entirely in Android’s user space via PRoot syscall emulation. Root buys you roughly 20 to 30 percent more raw performance and access to privileged ports, but the tradeoff is losing OTA updates and warranty on most devices.

Which Android version do I need?

Termux, PRoot Distro, and Termux:X11 need Android 7 or later. UserLAnd works from Android 5 and Debian noroot from Android 6. Anything older than Android 7 is not worth using, since expired SSL root certificates already break most package updates on those devices.

How much battery does a phone-hosted server drain in a day?

On a Pixel 5 hosting Vaultwarden, Pi-hole, and Tailscale, we measured about 6 percent of a full charge per 24 hours with the screen off, roughly 200 mAh. That climbs to 15 to 20 percent if you keep any Java-based service running (Home Assistant Core, a Minecraft server), because the JIT keeps the CPU warm.

Can I use my phone as a portable server on the go?

Yes. With Tailscale enabled it becomes a mesh node reachable over cellular, and you can run one or two lightweight containers alongside the tunnel and a Wi-Fi hotspot for about six to eight hours on a five-year-old battery. Bring a small power bank for anything longer than a workday.

Is Termux on Google Play still safe to install?

The Play Store build is a legacy release that no longer receives updates and cannot install new packages, so it is not dangerous, just useless. Always install Termux from F-Droid or the official GitHub releases page to get a working pkg command and current TLS roots.