Homelab
A Raspberry Pi homelab managed with Ansible and Docker Compose.
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 uses Ansible to prepare and operate Raspberry Pi Docker hosts, then deploys each service as a standalone Docker Compose project to a selected host. Persistent application data lives in explicit local paths under /exports/docker, rendered Compose projects remain under /opt, and Traefik routes local containers over a shared bridge network.
Services include Traefik, Dynamic DNS, Home Assistant, Homebox, Immich, Paperless-ngx, Omni Tools, and encrypted Restic backups to S3-compatible storage. Deployments validate configuration and existing state, pull images before replacement, use container health checks where possible, and keep sensitive values in Ansible Vault.
Result
The repository is both the deployment source and the operational memory for the homelab. It covers host setup, updates, status checks, reboots, local storage, service deployment, backup schedules, and restore notes without carrying a cluster orchestration layer that the current workload does not need.