With most x86 devices in my arsenal already engaged in DIY projects, I’ve gone back to experimenting with ARM boards. In fact, I've been running a bunch of lightweight LLMs on my single-board computers, and they’re surprisingly decent at running sub-4B models. Toss them in a cluster, and they can even handle the likes of 9B LLMs (provided you’re willing to overlook the abysmally low token generation rates).

But seeing their LLM-hosting prowess in action gave me a terrible idea: what if I tried turning an SBC into a Linux machine – one that runs off a power bank. After narrowing down the list of devices that could work as a pocket server without requiring dedicated Wi-Fi or storage adapters, I ended up with a Raspberry Pi being the only SBC fit for this project. And well, it worked a lot better than I’d anticipated.

I had no trouble running the Raspberry Pi off a power bank

Switching to the Raspberry Pi OS Lite definitely helped

Considering the Raspberry Pi 5’s weird power requirements, I was certain a mere power bank wouldn’t be able to supply enough juice to it. After all, the Raspberry Pi Foundation recommends using a brick capable of supplying 5V/5A to the SBC, while the average power bank can only handle 5V/3A. However, when I plugged my 20000 mAh power bank into the RPi 5’s Type-C port, the SBC’s LED flickered to life, meaning there was still some hope for this project (even though it’d be an underpowered setup that couldn’t run demanding tasks).

Since I wanted to keep the resource drain to a bare-minimum, GUI-laden distributions were out of the question. I wanted to opt for DietPi, but the quality-of-life tools built into the Raspberry Pi OS made its Lite version better for this project. Once I’d finished configuring the first-party distro, I configured OpenSSH Server on it and used PuTTY to establish an SSH connection to the SBC.

I armed the pocket Linux server with Docker

It can run light containers with ease

Although Ubuntu’s MicroCloud is a terrific platform for running virtual machines on the Raspberry Pi, I doubt my underpowered pocket server could handle even CLI VMs without buckling under the extra load. And even if it did, I’d rather not waste my power bank’s juice on full-fledged VMs when containers are more than enough for minor computing experiments. And since I don’t need MicroCloud’s web UI, either, I pivoted to a Docker-only setup instead. Setting it up was fairly simple, as all I did was run the ol’ series of commands from the official Docker guide, though I enabled rootless mode just to add some extra security to my containerization experiments.

As for the tools, I began deploying lightweight utilities that I might need while I’m away from my goblin cave. Pairdrop was the first tool I spun up, and after confirming it was accessible from a web browser, I began executing the commands to run BentoPDF, Vert, IT-Tools, and a bunch of other FOSS tools that I might need on a portable Linux server. Since I also wanted some tinkering environments, I whipped up barebones Debian and Arch Linux containers before wrapping things up with a Dockhand instance.

👁 The Raspberry Pi 5 and its accessories lying on top of a PC
The best Raspberry Pi projects don’t require extra hardware anymore

You don't need to spend a fortune on premium Raspberry Pi HATs and gizmos for your DIY projects

Pairing it with my smartphone was just as simple

At last, I won’t have to rely on Tailscale to access self-hosted services on-the-go

Although my pocket Raspberry Pi was more than ready on the containerization front, I still had to figure out the networking aspect of this setup. Unfortunately, I don’t have an LTE HAT on me at the moment, so I can’t just slap Tailscale on it and call it a day. And considering it’s a device I want to carry with me, I can’t rely on Wi-Fi connectivity to access my self-hosted application stack.

Deals

Maker deals: SBCs, power banks & portable server savings

Score discounts on portable project essentials—single-board computers, high-capacity power banks, LTE HATs, cases, cables, and microSD storage. Explore Maker & Creator deals to save on accessories for pocket Linux servers and DIY clusters.

So, I went with the next best thing and decided to pair it with my smartphone’s hotspot by running sudo nmcli in the terminal. But unlike my MacBook, my smartphone couldn’t access the Raspberry Pi’s terminal without dedicated tools. So, I installed the APK file for Termux before arming it with SSH capabilities by running pkg install openssh. Within a few seconds, my old phone could not only offer Internet access to my Raspberry Pi server’s networking stack, but it also became a makeshift debugging tool if (or, let’s be honest, when) things went south.

My portable Raspberry Pi Linux box lasted surprisingly long

Just to test things out, I left my Raspberry Pi and all its Docker-based services running on the power bank, and it lasted well over 7 hours! That’s a surprisingly long time, considering that I used a cheap 20,000mAh power bank. As for the services themselves, I didn’t notice any slowdowns whatsoever (though they weren’t bulky apps to begin with). Personally, I rely on Tailscale to access my home lab on-the-go, but this power bank-based Raspberry Pi setup might just be what I need for the rare occasions when I don’t have decent Internet speeds. And to be honest, the idea of carrying a pint-sized server sounds interesting enough that I might just bring it on my travels.

Raspberry Pi 5
CPU
Arm Cortex-A76 (quad-core, 2.4GHz)
Memory
Up to 8GB LPDDR4X SDRAM
Operating System
Raspberry Pi OS (official)
Ports
2× USB 3.0, 2× USB 2.0, Ethernet, 2x micro HDMI, 2× 4-lane MIPI transceivers, PCIe Gen 2.0 interface, USB-C, 40-pin GPIO header
GPU
VideoCore VII
Starting Price
$60