Files
loadbalancer/docs/runbook.md
T
2026-06-30 10:53:01 +02:00

74 lines
1.8 KiB
Markdown

# Runbook
## Common tasks
### Start the load balancer
```bash
docker compose up -d
```
### Stop the load balancer
```bash
docker compose down
```
### Update backend targets
1. Edit the relevant site file under `config/dynamic/`.
2. Run `docker compose config` to catch Compose-level errors.
3. Watch Traefik logs:
```bash
docker compose logs -f traefik
```
Dynamic file-provider changes are watched by Traefik.
## Troubleshooting
### Container is unhealthy
Check container status and logs:
```bash
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:
```bash
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:
```bash
docker compose down
```
Revert the deployment commit or restore the previous load-balancer configuration.