
Most old Android phones end up in a drawer once the battery starts sagging and the camera stops keeping up. That is a waste, because the same hardware that struggles with a modern app still has enough CPU, RAM, and always-on power to run a handful of lightweight self-hosted services around the clock. A home-labber recently proved the point by turning a retired phone into a quiet little server running ad blocking, monitoring, and a reverse proxy, all in containers. This guide covers the best apps for running Docker containers on an old Android phone, from the terminal environment that makes it possible to the containers actually worth deploying once you are set up.
What to look for in Android Docker host apps
Android was never built to run a container runtime, so the app you pick matters more than it would on a real Linux box. Favor apps that give you a proper Linux userspace through PRoot or chroot rather than a limited emulator, since most container tooling assumes a real filesystem and package manager underneath it. Root is not required for the setup in this guide, but a rooted phone unlocks a few conveniences like true cgroups. Check for active ARM64 support, since almost every old Android phone is ARM, and confirm the app plays reasonably with Android’s battery optimization so your “server” does not get killed in the background. Low RAM footprint matters most of all. Old phones often top out at 2 to 4GB, so every container needs to earn its place.
Quick comparison
| App | Role | Root required | RAM footprint | Notes |
|---|---|---|---|---|
| Termux | Base Linux terminal | No | Low | Foundation for everything else on this list |
| UserLAnd | Simplified Linux distro launcher | No | Low to moderate | Friendlier setup, fewer moving parts |
| Podman | Rootless container runtime | No | Low | Runs inside Termux, Docker-compatible commands |
| AnLinux | Linux bootstrap helper | No | Low | Pairs with Termux, not a standalone environment |
| Portainer | Container management UI | No | Moderate | Runs as its own container, managed from another device |
| AdGuard Home | Network-wide ad blocker | No | Low | One of the most useful containers to actually run |
| Uptime Kuma | Uptime and service monitoring | No | Low | Small footprint, watches everything else on the phone |
The 7 apps ranked
1. Termux — Best overall base
Termux is the terminal emulator and Linux environment that makes this whole setup possible. It gives you a real package manager, SSH access, and enough of a Linux userspace to install Podman and start pulling images, all without root. It is the app nearly everyone in the self-hosting-on-Android space starts with, and for good reason.
Where it falls short: the Google Play version has not kept pace with updates for years, which causes real compatibility problems with newer packages.
Pricing: Free.
Platforms: Android, ARM64.
Download: F-Droid (recommended over Google Play, which is outdated)
Bottom line: install Termux from F-Droid first. Every other app on this list assumes it is already there.
2. UserLAnd — Easiest Debian or Ubuntu setup
UserLAnd wraps the same PRoot approach as Termux but with a friendlier interface, letting you launch a full Debian or Ubuntu session in a couple of taps. It is a solid pick if the command-line setup in Termux feels like too much friction on a first attempt.
Where it falls short: less flexible than a hand-tuned Termux setup, and package installs inside its distros can run slower.
Pricing: Free.
Platforms: Android, ARM64.
Download: F-Droid or Google Play
Bottom line: a good on-ramp if Termux’s raw terminal is intimidating, though most people who stick with self-hosting eventually move to Termux directly.
3. Podman — Best container runtime for Android
Podman is what actually runs the containers, and it installs directly inside Termux with pkg install podman. It is rootless by design and uses Docker-compatible commands, so any docker run instructions from a project’s documentation work with the podman command instead. This is the piece that turns a terminal app into a real container host.
Where it falls short: not every image on Docker Hub is built for ARM, so some containers need an ARM64-compatible tag or will not start.
Pricing: Free and open source.
Platforms: Android, ARM64 (via Termux).
Download: installed through Termux with pkg install podman, no separate app required.
Bottom line: the actual engine behind everything else on this list. Once Podman is running inside Termux, the phone is a container host.
4. AnLinux — Best bootstrap helper
AnLinux is a small companion app that generates the exact Termux commands needed to bring up a chosen Linux distribution, sparing you from hunting through forum posts for the right install script. It is not a Linux environment on its own, it just prepares one inside Termux.
Where it falls short: it is a convenience layer, not a full solution, and offers nothing once the initial setup is done.
Pricing: Free.
Platforms: Android, ARM64.
Download: Google Play
Bottom line: worth grabbing if you want a specific distro like Alpine or Arch inside Termux without memorizing the setup commands.
5. Portainer — Best for managing containers remotely
Portainer is itself a container that gives you a web dashboard for everything else running on the phone. Once it is up, you can start, stop, and check logs on your containers from a laptop or another device on the same network instead of staring at a phone screen.
Where it falls short: it adds its own RAM overhead, so it is worth skipping on the smallest, most memory-constrained phones.
Pricing: free community edition.
Platforms: Android, ARM64 (as a container).
Download: Docker Hub
Bottom line: the difference between fumbling with terminal commands and having a real dashboard for your mini home lab.
6. AdGuard Home — Best container to actually run
AdGuard Home is a self-hosted DNS server that blocks ads and trackers network-wide, for every device on the home Wi-Fi, not just the phone running it. It is consistently one of the first containers people deploy once their old phone is set up as a host, and it barely touches the CPU while running.
Where it falls short: every device on the network needs to point its DNS at the phone, which means the phone has to stay on and connected for it to keep working.
Pricing: free and open source.
Platforms: Android, ARM64 (as a container).
Download: Docker Hub
Bottom line: the single highest-value container on this list for a household that wants ad blocking everywhere at once.
7. Uptime Kuma — Best for keeping an eye on everything else
Uptime Kuma is a lightweight, self-hosted monitoring tool with a clean status dashboard, letting the phone watch its own other services and alert you if AdGuard Home or anything else goes down. It is small enough to run comfortably alongside the rest of this stack.
Where it falls short: notifications need to be configured manually through an integration like email or a messaging webhook, there is no default alerting out of the box.
Pricing: free and open source.
Platforms: Android, ARM64 (as a container).
Download: Docker Hub
Bottom line: a small, quiet addition that tells you the moment your phone-server stack has a problem.
How to pick the right one
If this is a first attempt at self-hosting and the phone is your only spare device, start with Termux from F-Droid, install Podman, and stop there until AdGuard Home is running reliably. That single container already justifies the whole setup.
For anyone more comfortable skipping the command line entirely, UserLAnd with AnLinux as a bootstrap helper gets a working Linux environment up faster, at the cost of a bit less control.
If the goal is a genuinely quiet, always-on service for the whole household, like network-wide ad blocking or a local DNS, pair Termux and Podman with AdGuard Home and plug the phone in permanently near the router. Add Uptime Kuma once that is stable so you know immediately if the phone drops offline.
For a small home lab with several containers in play, add Portainer early. Managing everything through a browser on another device is far less error-prone than juggling terminal sessions on a phone screen, especially once you are running three or four services at once.
Rooted phones are not required for any of this, but if you already have root, the same stack still applies. The gains from root here are marginal, so it is not worth rooting a phone solely for this project.
FAQ
Can I run Docker on Android without rooting?
Yes. Podman, the container runtime used in this setup, runs rootless inside Termux. Root is not required for any of the apps or containers covered here.
What's the best old Android phone for self-hosting?
Almost any phone from the last several years works, as long as it has at least 2GB of RAM and a stable power connection. A device with a still-healthy battery or one permanently plugged in is ideal, since these services are meant to run continuously.
Does Termux work on Android 14 and 15?
Yes, the F-Droid build of Termux is actively maintained and works on current Android versions. The Google Play version is the one to avoid, since it has been effectively frozen for years and runs into compatibility issues.
Is F-Droid safer than Google Play for Termux?
For Termux specifically, F-Droid is the recommended source because it ships the actively maintained, up-to-date build. Google Play policy changes years ago froze that listing’s version, so packages installed through it can fail or behave unpredictably.
What containers work on ARM64 Android?
Most lightweight, actively maintained self-hosted projects publish ARM64 images, including AdGuard Home, Uptime Kuma, and Portainer. Heavier or x86-only images are the exception rather than the rule, but it is worth checking a project’s Docker Hub tags before pulling anything unfamiliar.