Raspberry Pi Docker Swarm: Useful, Limited, Good Enough

An 8-node Raspberry Pi cluster sounds more impressive than it is. It is not a mini data centre. It is a low-power homelab with limits. That is why I like it. A lot of homelab advice jumps straight to proper servers, racks, Kubernetes, and enterprise-style setups. Sometimes that makes sense. Most of the time, it is more infrastructure than the problem needs.

My setup

My setup is simpler. I run 8 Raspberry Pis as a small Docker Swarm. One node has a 2 TB drive attached and shares storage over NFS. It runs things I actually use: Home Assistant, Immich, Gitea, Paperless-ngx, Traefik, Portainer, and a few supporting services.

What I wanted to learn

At first, the cluster was about learning orchestration. How do services move between nodes? How does shared storage behave? What happens when a node disappears? Those were useful questions, but they were not the main lesson. The hardware became less interesting. The weak points became more obvious.

What actually matters

Backups matter more than node count. Storage matters more than dashboards. Clear deployment scripts matter more than pretending everything is highly available. If a worker node drops out, it is annoying. If the storage node has a problem, the whole cluster feels it. That is the difference between having multiple nodes and having real resilience.

Where the Pis make sense

Now I use the Pis where they make sense: lightweight services, low-power workloads, and systems where control matters more than performance. I keep shared storage simple with NFS. It is not perfect, but I understand it. That matters when something breaks. I use Docker Swarm because it is enough for this setup. Kubernetes would be more interesting. That does not make it better.

The tradeoffs

Raspberry Pis are cheap to run, but they are not magic. They are a poor fit for heavy databases, large media workloads, or anything that needs fast disk I/O. Immich runs, but it quickly reminds you that photo libraries are storage-heavy. Paperless-ngx is useful, but OCR and document processing are not free. Gitea and Traefik are much better fits. That is where the limits show up. Some services feel right on low-power hardware. Others work, but only if you accept the compromise.

The lesson

Eight nodes gives me flexibility. It does not give me automatic resilience. That is the biggest lesson. A Raspberry Pi cluster is useful if you treat it as a learning platform, not a production-grade server stack. It teaches useful lessons without burning much power. But the value is not in having 8 nodes. The value is learning what should stay simple, what needs proper backups, and what has no business running on a Pi.


↤ Previous Post
Next Post ↦