- Chapters
- 27
- Parts
- 5
- Code blocks
- 87
- Deeper tutorials
- 9
Reading along
The book takes you from a bare machine to a working, backed-up, monitored home server: Ubuntu Server, Docker, a reverse proxy with real HTTPS, and then one service per chapter. It explains why each line is there. This site is where you copy the lines from.
Every command and configuration file in the book is on the code companion, chapter by chapter, generated from the manuscript rather than retyped. What you copy here is exactly what's printed on the page, with the file it belongs in and the page it's on.
The service chapters end by pointing here for more. Those tutorials go past what a chapter has room for — proxy settings, checks that it's working, backups, updates — and link to each project's own documentation, which is always the final word.
What's inside
-
PART 1 — RECON
- Chapter 1 Why Self-Host: Threat Model for This Book no code
- Chapter 2 What You Actually Need: Hardware Decision Guide no code
- Chapter 3 Networking Prerequisites: Static IPs, DDNS, and the CGNAT Problem 2 code blocks
- Chapter 4 Planning Your Buildout: A Worksheet no code
-
PART 2 — FOUNDATION
- Chapter 5 Installing and Hardening Ubuntu Server 6 code blocks Going deeperGoing deeper
- Chapter 6 Docker and Compose from Zero 4 code blocks Going deeper
- Chapter 7 Storage Layout: Volumes, Bind Mounts, and Where Your Data Actually Lives 1 code block
- Chapter 8 Reverse Proxy, HTTPS, and Local DNS — One Setup, Used Everywhere After 3 code blocks Going deeper
- Chapter 9 Secrets and Environment Files: Doing This Safely From Day One 4 code blocks
-
PART 3 — THE STACK
- Chapter 10 Pi-hole + Unbound: Network-Wide Ad Blocking and Private DNS 3 code blocks Going deeper
- Chapter 11 Vaultwarden: Your Own Password Vault 3 code blocks Going deeper
- Chapter 12 Nextcloud: Files, Calendar, and Contacts 1 code block Going deeper
- Chapter 13 Immich: Photos and Video, Off the Cloud 2 code blocks Going deeperGoing deeper
- Chapter 14 Jellyfin: Your Own Media Server 2 code blocks Going deeper
- Chapter 15 SearXNG: A Private Search Engine 2 code blocks Going deeper
- Chapter 16 Local AI: The Sanitiser and the Full Assistant 6 code blocks Going deeper
- Chapter 17 Extras Worth Running: Uptime Kuma, PrivateBin, and Others 3 code blocks Going deeper
-
PART 4 — MAKING IT RESILIENT
- Chapter 18 Backups Done Right: The 3-2-1 Rule With Restic 6 code blocks
- Chapter 19 Restore Drills: Proving Your Backups Actually Work 3 code blocks
- Chapter 20 Remote Access Without Exposing Everything: Tailscale and WireGuard 3 code blocks
- Chapter 21 Monitoring and Alerts: Knowing Before It's a Crisis 2 code blocks
- Chapter 22 When Things Go Wrong: A Troubleshooting Playbook 4 code blocks
-
PART 5 — GOING FURTHER
- Chapter 23 Using AI Without Handing Over Your Life: A Practical Framework 1 code block
- Chapter 24 Router-Level Segmentation: VLANs for a Homelab 1 code block
- Chapter 25 Single Sign-On: Authelia and Authentik in Front of Everything 8 code blocks
- Chapter 26 Scaling Out: Multiple Machines and Off-Site Nodes 1 code block
- Chapter 27 Staying Current: Updates, Breaking Changes, and a Maintenance Rhythm 1 code block
-
APPENDICES
- Appendix A Every Compose File in One Place 15 code blocks
- Appendix B Symptom-to-Chapter Troubleshooting Index no code
- Appendix C Hardware Shopping List by Budget Tier no code
Festina Lente · Make Haste Slowly