bash — christopher@homelab

christopher@homelab:~$ whoami

christopher — I build and run a homelab at home

christopher@homelab:~$ cat mission.txt

christopher@homelab:~$ _

bare metal, always on 12+ services in Docker DNS · VPN · monitoring

# the stack

All of this runs in Docker on one machine at my place. Caddy sits in front and handles HTTPS.

AdGuard Home + Unbound

I use AdGuard Home with Unbound for network-wide blocking and recursive DNS — queries go to the root servers, not some upstream resolver.

DNSPrivacyUnbound

Encrypted DNS

DoH, DoT, and DoQ endpoints so devices can resolve DNS privately — works off-network too when I'm on the VPN.

DoHDoTDoQ

Tailscale

Tailscale mesh VPN with an exit node and MagicDNS — I can reach everything at home from anywhere without opening ports.

WireGuardExit nodeMagicDNS

SearXNG

Self-hosted SearXNG for search — no tracking, no profile building, just aggregated results.

SearchPrivacy

Caddy

Caddy as reverse proxy and TLS. Let's Encrypt certs via DNS-01, so every service gets a clean HTTPS URL.

Reverse proxyLet's Encrypt

Monitoring

Uptime Kuma for uptime, Beszel for metrics, Dozzle for container logs, and a speedtest tracker so I know when the ISP is acting up.

Uptime KumaBeszelDozzle

Homepage

Homepage dashboard — one page with links and widgets for everything on the network.

Dashboard

Minecraft + BlueMap

Fabric Minecraft server (The Boys) with Chunky pregen and BlueMap for a live web map of the world.

FabricBlueMapRCON

# explore the stack

Read-only shell into /opt/stacks and Minecraft config over a Cloudflare Tunnel. You can't edit anything — sensitive paths are blocked and output gets redacted.

ssh — christopher@homelab (read-only) waiting…

# live status

Pulled live from my Uptime Kuma instance — updates every minute.

checking…
Connecting to monitoring…

# the hardware

No datacenter required — this whole stack runs on a recycled office desktop in my house.

running now

  • HostDell OptiPlex 780 SFF
  • CPUIntel Core 2 Duo E8400 @ 3.0 GHz
  • Memory16 GB DDR3
  • Storage500 GB drive
  • OSLinux · Docker · Caddy
  • NetworkTailscale mesh + recursive DNS

roadmap

  • ComputeIntel N305 mini PC (8-core)
  • Rack10" DeskPi RackMate T0
  • SwitchTP-Link TL-SG108PE (PoE+)
  • CamerasReolink PoE + Frigate NVR
  • PowerUPS battery backup
  • GoalVLAN segmentation + local AI

# about

I run a homelab at home — DNS, VPN, reverse proxy, monitoring, Docker containers, a Minecraft server. I set it all up and maintain it myself on hardware that's on 24/7 in my house.

Most of what I know about infra and Linux I picked up by actually running it, not just reading docs.