Homelab
A Raspberry Pi cluster managed with Ansible and Docker Swarm.
Problem
I wanted a homelab that was useful rather than impressive. The goal was to learn self-hosting, run services I actually use, and keep the setup repeatable enough that rebuilding or moving services would not depend on memory.
Approach
The repository manages a Raspberry Pi based cluster with Ansible. Docker Swarm handles service placement, while an NFS-backed Raspberry Pi 5 provides persistent storage for stateful services. The repo includes playbooks for preparing machines, creating and maintaining the swarm, deploying core services, and documenting each deployment.
Services include pieces such as Traefik, Portainer, Dynamic DNS, Gitea, Home Assistant, Paperless-ngx, Immich, backups, and other supporting tools. Sensitive values are handled through Ansible Vault patterns and templates.
Result
The homelab repository is now both the deployment source and the operational memory for the cluster. It keeps the setup honest: services have names, playbooks, templates, notes, and maintenance tasks instead of being a set of one-off manual changes.