1.8 KiB
Runbook
Common tasks
Start the load balancer
docker compose up -d
Stop the load balancer
docker compose down
Update backend targets
- Edit the relevant site file under
config/dynamic/. - Run
docker compose configto catch Compose-level errors. - Watch Traefik logs:
docker compose logs -f traefik
Dynamic file-provider changes are watched by Traefik.
Troubleshooting
Container is unhealthy
Check container status and logs:
docker compose ps
docker compose logs traefik
Confirm that config/traefik.yml is mounted and that the ping entrypoint is enabled.
Backend is unhealthy
Check Traefik logs and verify that the local backend ports respond from the host:
curl -H 'Host: lab.younerd.org' http://127.0.0.1:8080/
openssl s_client -connect 127.0.0.1:8443 -servername lab.younerd.org
Repeat with the hostname and ports from the relevant file under config/dynamic/.
Clients cannot connect
Check that the host is listening on 80/tcp and 443/tcp, firewall rules allow inbound traffic, and backend IP addresses are reachable from Traefik. For services bound to host loopback, configure backends as 127.0.0.1:PORT.
Certificate HTTP-01 challenge fails
Check that port 80/tcp is reachable from the internet and that the matching HTTP service points to the local backend that handles ACME challenge paths.
Wrong certificate is presented
Because TLS is passed through, the certificate comes from the selected backend. Check backend certificate configuration and SNI routing rules in the relevant file under config/dynamic/.
Rollback
Stop the Compose stack:
docker compose down
Revert the deployment commit or restore the previous load-balancer configuration.