๐ Traefik โ Homelab Reverse Proxy
Host: Homelab ยท Compose:
Homelab/Traefik/compose.yaml
Stack name:traefik
1. Overview
The primary Traefik v3 reverse proxy for the homelab. Handles all internal TLS termination for *.home-lab.micky.id.au and *.remote-lab.micky.id.au using ACME/Let's Encrypt DNS challenge. A Redis sidecar enables traefik-kop to push routing configurations from remote Docker hosts. A secure socket proxy prevents full Docker API exposure.
2. Architecture & Services
| Service | Image | Port | Role |
|---|---|---|---|
socket-proxy |
11notes/socket-proxy:2.1.7 |
2375 |
Secure Docker socket proxy |
traefik |
traefik:v3.7.13 |
80, 443, 8863 |
Core reverse proxy + ACME TLS |
traefik_redis |
redis:7.4 |
6379 |
Redis for traefik-kop label federation |
3. Networking
internalโ Internal network connecting Traefik, Redis, and socket-proxy.traefikโ External network. All services withtraefik.enable=truemust join this network.
4. Persistent Storage
| Container | Host Path / Volume | Description |
|---|---|---||
| socket-proxy | /run/docker.sock | โ |
| socket-proxy | socket-proxy | โ |
| traefik | /docker/data/traefik | traefik.yml, middlewares, routers config |
| traefik | /docker/data/traefik/acme.json | Let's Encrypt certificate store |
| traefik | /docker/data/traefik/traefik.log | Access log |
| traefik | /var/run/docker.sock | โ |
5. Environment Variables
No environment variables defined.
6. Access & Usage
| URL | Description |
|---|---|
https://traefik.home-lab.micky.id.au |
Traefik dashboard |
http://localhost:8863 |
Dashboard (direct) |
# Start
docker compose -f Homelab/Traefik/compose.yaml up -d
# Test routing
curl -I https://home-lab.micky.id.au
7. Maintenance & Backup
# Update
docker compose -f Homelab/Traefik/compose.yaml pull
docker compose -f Homelab/Traefik/compose.yaml up -d
# Backup ACME certs and config
rsync -av /docker/data/traefik/ /backup/traefik/
[!CAUTION]
acme.jsonmust have permissions600. After any restore:chmod 600 /docker/data/traefik/acme.json