Owning the stack, one understandable layer at a time
A small server is useful. A small server I can explain, rebuild, and restore is much more useful.

I started with a simple goal: run a few useful services today without making tomorrow’s home server a completely different project. That led to a deliberately short chain.
Ansible prepares the host
Compose runs the services
Caddy handles the web
Restic protects the data
Every layer needs a reason
Ansible exists because a new machine needs one repeatable bootstrap. Compose exists because the applications should move together. Caddy exists because public services need one controlled entrance. GitHub makes review and deployment convenient, but it should never become the only way to operate the system.
The useful question is not whether the setup looks professional. It is whether I can point to every process, network, secret, and volume and explain what would happen if it disappeared.
Recovery is part of ownership
A repository can rebuild configuration, but configuration is not data. The real test is restoring the database and service state onto a clean machine. Until that works, a backup is still only a hopeful file.
Simple does not mean automatic. It means the automation remains visible enough to understand and replace.
What comes next
I want to finish one encrypted off-site backup, perform a restore drill, and write down the recovery path before adding more applications. The system can grow after its foundations have been proven.