Homelab essential services (DNS, DHCP, etc.)
An extention of Mothership.
- Cloudflare DDNS: Dynamic DNS client for updating upstream DNS records
- Cloudflared: Cloudflare tunnel for remote access without exposing ports on WAN
- Docker Socket Proxy: Secured proxy for Homepage to watch Docker
- Node Exporter: Presents host resource metrics to be consumed by Prometheus and displayed by Grafana
- Pi-Hole: Network-wide ad blocking with built-in DNS and DHCP servers.
- Portainer: Web app for managing container stacks remotely
- Tailscale: WireGuard powered, infrastructure agnostic, VPN service
- Traefik: Reverse proxy for serving other components with HTTPS enabled URLs. Using Let's Encrypt for quick and easy HTTPS certificates.
- Uptime Kuma: Monitoring dashboard and alerting for internal and external endpoints.
- Watchtower: Keeps an eye on colocated containers and updates them while I'm (hopefully) sleeping.
Docker compose services inherit the following env vars (update yours accordingly):
# common
ADMIN_PASSWORD=""
ADMIN_PASSWORD_HASH=""
DOMAIN=""
PGID=1000
PUID=1000
TZ=""
# cloudflare
CF_EMAIL=""
CF_TOKEN=""
CF_ZONE=""
# cloudflared
CLOUDFLARED_TOKEN=""
# homepage
PIHOLE_API_KEY=""
PORTAINER_API_KEY=""
# tailscale
TS_AUTHKEY=""