I don’t know about you, but I have plenty of old smartphones sitting unused in drawers. OnePlus, Xiaomi, Samsung… powerful devices with 8 cores, 6 GB of RAM, and 128 GB of storage that easily outstrip my Raspberry Pi, yet they slowly deteriorate due to outdated Android. Sometimes I give them away, sometimes I tinker with them, but honestly, I don’t do much.

But that was before! You may not know this, but these little beasts can be clustered to run all your self-hosted services. It’s true that these smartphones have everything it takes to become perfect servers: a built-in battery (goodbye, uninterruptible power supplies!), a screen to monitor your setup, and processing power that would put a Raspberry Pi 4 to shame, which costs three times more.

Let’s look at a concrete example. A OnePlus 5T from 2017 features 8 cores (4×2.45 GHz + 4×1.9 GHz), 6 to 8 GB of RAM, and up to 128 GB of ultra-fast UFS 2.1 storage. Compare that to a Raspberry Pi 4 with its 4 cores at 1.5 GHz, limited RAM, and a slow SD card like an asthmatic snail. Plus, the smartphone comes with a built-in battery and screen!

The magic of clustering happens thanks to postmarketOS, a Linux distribution based on Alpine, specifically designed for smartphones. By replacing Android with this system, your device becomes a true Linux server capable of running Docker, Kubernetes, and all your favorite services.

However, not all smartphones are equally suited for this transformation. The crucial step is unlocking the bootloader, the protection that prevents anything but Android from being installed on your phone. Brands like OnePlus, Google, and FairPhone are generally friendly in this regard, while recent Huawei/Honor and Xiaomi models may give you headaches.

See also  Are Our Phones Really Listening to Us? Separating Fact from Fiction

Once liberated from Android, the smartphone can be equipped with postmarketOS, then K3s (a lightweight version of Kubernetes), and from there, the technical challenges abound: configuring the Linux kernel for containers, optimizing network rules, adapting for specific components like Wi-Fi… But that’s all part of the fun, right?

Once everything is set up, you can deploy Pi-hole, NextCloud, Home Assistant, Plex, Vaultwarden… The list is endless. And all of this can be done on devices you already own, saving you the purchase of an €80 Raspberry Pi.

That’s exactly what Denys Vitali did when he transformed his old OnePlus 5T, OnePlus 8 Pro, and other smartphones into Kubernetes nodes. He documented the entire process in detail on his blog, including the issues he faced with the Linux kernel and network rules that held him up for hours. So if you’re motivated, his ultra-comprehensive guide walks you through it step by step.

His final cluster consists of 3 functional nodes running various services like Prometheus, Grafana, Vaultwarden, and more. He even managed to adapt the Device Tree of a OnePlus 8 Pro to make its previously unsupported Wi-Fi chip work.

So, as you can see, this isn’t accessible to everyone, but if you love getting your hands dirty, it can allow you to breathe new life into your smartphones with a bit of open-source magic. And let’s be honest, it’s way cooler to have a rack of smartphones running your services for your home lab than a simple plastic box humming away.

Did you enjoy this article? Feel free to share it on social media and subscribe to our newsletter so you never miss a post!
See also  10 Best Udemy Linux Learning Courses
And if you'd like to go a step further in supporting us, you can treat us to a virtual coffee ☕️. Thank you for your support ❤️!

Categorized in: