A complete home server setup running on Raspberry Pi with Docker containers.
- Traefik - Reverse proxy / TLS termination (ports 80, 443; dashboard 8080)
- WireGuard (wg-easy) - VPN server (port 51820/UDP; web UI via Traefik)
- Home Assistant - Home automation hub (port 8123, host network)
- Matter Server - Matter protocol bridge (internal)
- Homepage - Dashboard (port 3000)
- Uptime Kuma - Service monitoring (port 3001)
- Glances - System resource monitoring (port 61208)
- Pi-hole - DNS ad blocker (DNS port 53; web UI port 8053)
- NetAlertX - Network device scanner (port 20211, host network)
- Commute Bot - Commute time lookup via Google Maps
- AutoVRR - Visitor parking registration automation
- Google Form Image Embed - Replies with images extracted from Google Forms links
-
Setup environment files:
cd home-server # Copy and configure .env files for each service for dir in traefik wg-easy homepage home-assistant uptime-kuma pihole glances netalertx cups commute-bot autovrr gform-image-embed; do cp $dir/.env.example $dir/.env done # Edit each .env with your actual values
-
Start all services:
docker compose up -d
-
Stop all services:
docker compose down
-
Start a single service:
docker compose up -d <service-name> # e.g.: docker compose up -d homepage
- Homepage Dashboard: http://your-pi-ip:3000
- Home Assistant: http://your-pi-ip:8123
- Uptime Kuma: http://your-pi-ip:3001
- Pi-hole Admin: http://your-pi-ip:8053/admin
- Glances: http://your-pi-ip:61208
- NetAlertX: http://your-pi-ip:20211
- CUPS Print Server: http://your-pi-ip:631
- 13ft Reader: http://your-pi-ip:5000
- Traefik Dashboard: http://your-pi-ip:8080
- WireGuard: vpn.your-domain (via Traefik)