This page is the high-level overview of how the lab fits together. The physical design is centered on a compact cluster, a larger NAS, dual WAN, and a rack power design that prioritizes routing, storage, and management access during interruptions.
The runtime design is centered on Proxmox, Docker Swarm, Ceph, Unraid, Ansible, and HiveMind. Proxmox provides the VM layer, Docker Swarm runs most apps, Ceph provides active clustered storage, Unraid provides bulk storage, Ansible configures the platform, and HiveMind keeps Swarm aligned with Git.
The lab is built to balance performance, power efficiency, maintainability, and recovery. It is not trying to be a datacenter replica. The goal is to keep useful services available, keep changes reviewable, and make failures understandable enough to fix without guessing.
| Area | Main tools | Notes |
|---|---|---|
| Apps | Docker Swarm, Traefik, Authentik | Most user-facing services run as Swarm stacks. |
| Virtualization | Proxmox | Core VM lifecycle and clustered compute live here. |
| Shared storage | CephFS, RBD, Unraid NFS | Ceph handles active clustered storage; Unraid handles bulk and backup storage. |
| Automation | GitHub Actions, HiveMind, Ansible, Renovate | Git-first changes with automated validation and rollout. |
| Observability | Grafana, Uptime Kuma, Loki, Alloy, ntfy | Metrics, logs, uptime, and alert delivery. |
| Area | Source |
|---|---|
| Hardware and VM inventory | ~/HomeLab/ansible/hosts.ini |
| Service definitions | ~/Docker-Swarm/Compose-Files and ~/Docker-Swarm/stacks.yml |
| Host and VM automation | ~/HomeLab/ansible |
| GitOps controller | ~/HiveMind |
| Documentation | ~/wiki-js |