Most people have a drawer with two or three retired Android phones in it. A cracked screen, a swollen battery, a model that stopped getting security patches. The hardware inside is still a 64-bit ARM machine with a few gigs of RAM, flash storage, Wi-Fi, and (this is the underrated part) a built-in UPS that keeps the whole thing running through a short power cut. That is a home server. The best apps for turning an old Android phone into a home server work with that reality: they cope with Android’s aggressive background killing, they do not require root on most devices, and they log enough that we can tell when something silently died. This list covers the 8 apps we keep coming back to when we set one of these up, from a full Linux userland to a one-tap SSH daemon.
What to look for in a phone-as-server app
- Background persistence handling. Android will kill anything it thinks is idle. Good server apps run a foreground service with a sticky notification, request battery-optimisation exemption, and re-acquire wake locks on reboot.
- No root needed. Rooting an old phone is fine for a hobby build, but the apps we recommend should work on stock Android so a spare Pixel or Samsung is not bricked as a prerequisite.
- LAN and WAN reachability. The app should bind to
0.0.0.0(not just localhost), and it should be honest about how remote access works: port forwarding, UPnP, or an overlay network like Tailscale. - Secure remote access. Public-key SSH, TLS, or a private mesh. Password-only auth on a phone that lives on a home Wi-Fi is a bad default.
- Low battery drain. A phone plugged in 24/7 with a runaway service will cook its battery in months. Look for apps that idle cleanly and do not spin the CPU on nothing.
- Sane logging. When the service stops answering at 3 a.m., the logs need to say why. Silent failure is the failure mode of every bad Android background app.
Quick comparison
| App | Best for | Free plan | Root required | Battery impact |
|---|---|---|---|---|
| Termux | Full Linux userland (ssh, nginx, syncthing) | Yes | No | Low to medium |
| Nextcloud | Personal cloud client and share endpoint | Yes | No | Low |
| KDE Connect | Bridging the phone to a desktop over LAN | Yes | No | Very low |
| PortMapper | Opening router ports via UPnP | Yes | No | Very low |
| Tailscale | Zero-config mesh VPN into the phone | Yes (personal) | No | Low |
| Servers Ultimate | Legacy protocol stack (FTP, SMB, DNS, DLNA) | Freemium | No | Medium |
| Perpetual Wake Lock | Keeping doze from killing long-running services | Yes | No | Medium (by design) |
| SimpleSSHD | Standalone SSH with public-key auth | Yes | No | Very low |
The apps
1. Termux
Termux is a full Linux userland packaged as an Android app. It ships its own pkg manager (a Debian-style front end for a curated repo), and inside it we can pkg install openssh nginx code-server syncthing python nodejs, then run each as a normal daemon. This is the app that turns “old phone” into “server”, and it is what the rest of this list orbits around.
Where it falls short: the Play Store build is frozen at an old version because of API-level policy conflicts, so the packages there are stale. Install from F-Droid or the GitHub releases instead. Termux also cannot run services in the background reliably without a wake lock, which is why Perpetual Wake Lock is on this list.
Pricing: free, open source. Platforms: Android Download: Google Play (frozen, install the F-Droid build instead), F-Droid Bottom line: if we install one app on the phone, it is this one. Everything else is a convenience layered on top.
2. Nextcloud
The official Nextcloud client does two useful things on a server phone: it auto-uploads the phone’s camera roll to a Nextcloud instance running elsewhere, and (with the folder-sync module) it exposes local folders that a Nextcloud server can pull from. Paired with a Nextcloud instance running inside Termux, the phone becomes both the host and one of its own clients.
Where it falls short: it is a client-first app. Running the actual Nextcloud PHP server happens in Termux, not in the Nextcloud APK.
Pricing: free, open source. Platforms: Android Download: Google Play, F-Droid Bottom line: the piece that makes the phone feel like a personal cloud instead of a Linux box that happens to be under the sofa.
3. KDE Connect
KDE Connect is a LAN bridge between the phone and a desktop. On a server phone it is the fastest way to send files, mirror clipboard, run remote commands, and get notifications from the phone on a laptop across the room. Because it runs over the local network with paired public keys, there is nothing to expose to the internet.
Where it falls short: it needs both devices on the same subnet, and it is not a substitute for SSH or a proper remote-management tool.
Pricing: free, open source. Platforms: Android Download: Google Play, F-Droid Bottom line: the desk-side glue between the server phone and the laptop that manages it.
4. PortMapper
PortMapper asks the home router (over UPnP) to open a port and forward it to the phone. This is how we expose an SSH or web service to the internet without logging into the router’s admin UI, and it undoes itself when the phone reboots so nothing stays open by accident.
Where it falls short: the router has to speak UPnP with it enabled, which many ISP-supplied routers ship with off. We generally prefer the Tailscale path for that reason, but PortMapper is the right answer when a public endpoint is genuinely needed.
Pricing: free. Platforms: Android Download: Google Play Bottom line: the quick fix for exposing a port to the WAN when Tailscale is not an option.
5. Tailscale
Tailscale drops the phone onto a private WireGuard mesh with our other devices. No port forwarding, no dynamic DNS, no firewall poking. The phone gets a stable 100.x address, and every device signed into the same tailnet can reach it as if they were on the same LAN.
Where it falls short: the free personal tier is generous but capped at 100 devices and 3 users, which is fine for a household but not a small team. It also depends on Tailscale’s coordination servers being reachable.
Pricing: free personal tier, paid team plans. Platforms: Android Download: Google Play Bottom line: the safest way to reach the phone from outside the house, and the one we set up first.
6. Servers Ultimate
Servers Ultimate is a Swiss-army knife that hosts dozens of protocols (FTP, SFTP, SMB, DNS, DHCP, DLNA, Telnet, syslog, and more) from a single tabbed UI. If the goal is to make the phone a legacy file share for a smart TV or a printer that only speaks 2005-era protocols, this is the fast path.
Where it falls short: the free tier limits how many servers can run at once and shows ads, and the codebase is closed-source, which we weigh against Termux-based alternatives.
Pricing: freemium, Pro unlock for a one-time fee. Platforms: Android Download: Google Play Bottom line: the pragmatic pick when the goal is “make the phone speak SMB to my TV” and we do not want to compile anything.
7. Perpetual Wake Lock
Android’s doze mode will suspend our carefully-configured Termux daemons the moment the screen has been off for a while. Perpetual Wake Lock holds a partial wake lock so the CPU keeps servicing background work. It is a blunt instrument, and that is the point.
Where it falls short: it defeats the OS’s power management on purpose, so the battery will drain faster and run hotter. Only use it on a phone that lives on the charger.
Pricing: free. Platforms: Android Download: Google Play (availability may vary by region) Bottom line: the missing piece that makes Termux services actually stay up between reboots.
8. SimpleSSHD
SimpleSSHD is a standalone SSH server in a single APK. It supports public-key auth, chroot to a chosen directory, and it runs as a foreground service with a sticky notification. If the only thing we want is ssh phone.local from a laptop, this is smaller and simpler than running sshd inside Termux.
Where it falls short: it is a bare SSH server, not a shell environment. Once we log in we get Android’s ash, not bash, and none of Termux’s package tree.
Pricing: free, open source. Platforms: Android Download: Google Play, F-Droid Bottom line: the smallest, sanest way to get an SSH prompt on a spare phone.
How to pick the right one
If the goal is a personal cloud with photo backup and file sync, install Termux, run Nextcloud or a Syncthing pair inside it, and add the Nextcloud client on top. If the goal is a VPN entry point into the home network, install Tailscale first and worry about services after that, because Tailscale makes the rest of this list reachable from anywhere without opening a single port. If the goal is a legacy file share for a smart TV, a networked printer, or an old camera that only speaks SMB or FTP, Servers Ultimate is the shortest path from zero to a working share. If we only need shell access to a spare phone (say, to run a cron-style script), SimpleSSHD alone will do the job and use almost no battery. And in every case, add Perpetual Wake Lock if anything in the stack has to stay up between screen-off periods, otherwise doze will quietly kill it and we will not notice until the next time we try to connect.
FAQ
Does the phone need to be rooted? No. Every app in this list runs on stock Android. Root unlocks a few extras (binding to ports below 1024, tighter iptables control), but nothing on this list requires it.
Will the battery hold up if it is charging 24/7? Lithium batteries degrade faster at 100% charge and elevated temperatures, which is exactly the state a plugged-in server phone lives in. Expect noticeable capacity loss within a year. Some phones (recent Pixels, some Samsungs) have a charge-limit setting that caps at 80%, which helps a lot. If the phone is truly retired, this is an acceptable trade.
What happens when Android kills my background app?
The service stops answering and nothing tells us. That is the point of Perpetual Wake Lock, of running services under Termux with termux-wake-lock, and of using apps that register a proper foreground service. Also disable battery optimisation for every server app in Settings, or Android will decide it knows better.
Is this safer than a Raspberry Pi? Different threat model. The Pi runs a full Linux distro we can patch on our own schedule; the phone runs whatever kernel the manufacturer last shipped, which for an old device is probably not getting security updates. On the other hand, the phone has a battery and an LTE modem, so it survives outages the Pi does not. For home LAN use behind Tailscale, the phone is fine. For a public-internet-exposed service, we would prefer the Pi.
What is the best combo for a total beginner?
Termux plus SimpleSSHD plus Tailscale. Install all three, sign the phone into the tailnet, set up an SSH key in SimpleSSHD, and now we can ssh into the phone from a laptop anywhere in the world without touching the router. Everything else is a project we can add later.