Can you use an old Android phone as a home server?
An old flagship phone has a fast eight-core processor, 6–8 GB of memory, solid-state storage, a built-in battery and draws a few watts. That is a small server, if you can get a real operating system onto it. Whether you can depends almost entirely on the chip.
The chip decides everything
A phone is a server only if it can run a proper Linux: a current kernel, an init system, normal packages, services that survive a reboot. Android is Linux underneath, but the vendor kernel is old (4.9 for most Snapdragon 845 phones), there is no systemd or OpenRC, and the system is built to suspend background work aggressively.
Replacing Android with a real distribution needs the open-source kernel to support the phone's system-on-chip. For most chips it does not; the vendor's Android kernel is the only one that boots. For a few it does, and the standout is Qualcomm's Snapdragon 845 (SDM845), found in the OnePlus 6 and 6T, the Xiaomi Poco F1 and the SHIFT6mq. Years of community work have brought display, Wi-Fi, USB, UFS storage and even the modem into the upstream kernel, and postmarketOS (an Alpine Linux derivative) treats these devices as well-supported targets. This is why "rooted OnePlus 6T as a home server" keeps coming up: it is one of the few phones where the answer is a real yes.
Innards' catalog rates a phone's chip on exactly this axis. "Excellent mainline Linux support (postmarketOS runs it well)" means the pocket-server route is open; "no mainline Linux support (vendor Android kernel only)" means you are limited to Android, and its verdict is blunt: "you can run apps and a few tools on it, but not a proper server operating system".
Rooted Android versus a real Linux
If the chip has mainline support, install Linux. If it does not, root is the fallback, and it is worth being clear about what each gets you.
| Termux, no root | Rooted Android | postmarketOS / Mobian | |
|---|---|---|---|
| Kernel | Vendor, old | Vendor, old | Current mainline |
| Services survive reboot | No | With effort (init scripts, Magisk modules) | Yes: systemd or OpenRC |
| Ports below 1024, full filesystem | No | Yes | Yes |
| Background limits (Doze) | Constant fight | Can be disabled | None |
| Packages | Termux repo | Termux, or a chroot distro | Alpine or Debian, as normal |
| Containers | No | chroot/proot only | Where the kernel config allows; check the device page |
Termux without root can run SSH, Syncthing and a small web app, and that is a fine use for an old phone, but Android's battery optimisation will keep suspending it and it cannot bind privileged ports. Root fixes the second problem and lets you run a chroot Linux with a proper SSH server and full storage access; it does not fix the kernel or give you a real init. postmarketOS fixes all of it, and the install for a supported Snapdragon 845 device is an evening with pmbootstrap and the device's wiki page.
What a Snapdragon 845 phone is honestly good for
Innards has two workloads for this class of machine. Portable home/cloud server covers self-hosted services: a file sync node, a personal git server, a small web app, a DNS filter, a backup target, home-automation glue. On a phone with 6–8 GB of memory and UFS storage, all of these are comfortable, and several at once are fine. UFS is the phone-class flash used in these devices: roughly SATA-SSD speed with proper random I/O, far better than eMMC or an SD card, though it is soldered, so plan for USB storage if capacity runs out.
On-device AI: classify, index, small models is the other, and it needs explaining because "AI on a phone" invites both hype and dismissal. What it actually means here is bursty inference: tagging photos as they sync, indexing documents for search, running a small classification model, occasionally answering a question with a model in the 1–3-billion-parameter range. Innards judges this on four things: enough memory to hold the model (a few gigabytes for a small quantised one), whether the CPU has the ARM dot-product instructions that quantised inference libraries lean on (introduced with ARMv8.2, and present on most big cores from 2018 onward), storage fast enough to page models in, and cooling. It does not include running a large chat model continuously; that is the "Running AI models locally" workload and a phone without a GPU you can use headless is not the machine for it.
The limits, plainly
- No fan. A phone is fast for short bursts and throttles within minutes of steady load: the thermal governor drops the big cores' clocks, sometimes by half, to stay cool. Bursty server work (sync, web, small queries) is fine. Sustained work (a big indexing run, transcoding, an AI model answering for an hour) gets slow and stays slow. A clip-on fan or a heatsink case, or capping the maximum clock, gives steady throughput.
- Wi-Fi only. No Ethernet port, and Wi-Fi drops, roams and shares a channel with everything else in the house. A USB-C gigabit Ethernet adapter gives the server a stable address and full-speed transfers; a powered hub can charge the phone at the same time.
- The battery is a UPS, and a liability. A power cut does not take the server down, which is a feature no Raspberry Pi has. But a lithium cell held at 100% for a year, warm, is how phones swell. Cap the charge around 80% where the OS allows it, and check the back of the phone for a bulge once in a while.
- Storage cannot be replaced. 128 or 256 GB of UFS, soldered. Backups go to USB or to the network.
- Memory is what it is. Innards refuses to call a phone a viable server platform below 4 GB of memory, or when the chip has no mainline support, and says why: "this is a ceiling, not a part you can swap".
Setting it up
- Unlock the bootloader (this wipes the phone) and follow the postmarketOS wiki page for your device to flash it. For a rooted-Android route instead, Magisk or KernelSU, then disable battery optimisation for anything that must stay up.
- Add the two-tier swap described in the swap guide; 6 GB with no swap is how a phone server dies quietly overnight.
- Give it a wired link and a charge cap. Put it somewhere with airflow, not in a drawer.
- Start with one service and watch temperatures under load for a day before adding the next.
Innards' own phone support is in progress: a command-line build for postmarketOS and Termux that produces the same report as the desktop app, with the findings and workloads quoted on this page. The rules already exist in the catalog; what is being finished is the aarch64 build and the phone-specific probes.