arthur@homelab:~$ cat ~/homelab.md
Homelab
The homelab is a hybrid collection of local hardware and carefully selected remote infrastructure. It runs the services I use, provides a realistic environment for experiments, and gives each mistake somewhere educational to happen.
Design principles
- Own the important data. Storage, backups, and recovery plans matter more than dashboards.
- Private by default. Internal services live behind Tailscale and split DNS unless they genuinely need public access.
- Configuration is documentation. Important service configuration is captured in Git alongside operational notes.
- Observe before guessing. Metrics, logs, probes, and alerts should explain what a system is doing.
- Prefer understandable systems. Clever machinery eventually needs maintenance at an inconvenient hour.
Simplified topology
public internet
|
v
caddy-external ---- encrypted tailnet ---- caddy-internal
|
+--------------------------+------------------+
| | |
services storage monitoring
The lab uses Incus containers for system-level isolation, Docker Compose where application packaging makes sense, Caddy for public and private routing, Tailscale for the encrypted service network, and Prometheus-compatible monitoring for visibility.
This page will evolve into a complete tour of the hardware, networks, storage, services, and the reasoning behind them.