- Ubuntu 24.04 Server on lab-proxy1 (10.0.50.*)
- Docker 24+ and Docker Compose v2
- Phase 1 complete: FreeIPA, Keycloak, PostgreSQL, Redis, Traefik running
- DNS entry: traefik.it-stack.lab → lab-proxy1
CREATE USER traefik_user WITH PASSWORD 'CHANGE_ME';
CREATE DATABASE traefik_db OWNER traefik_user;Create OIDC client $Module in realm it-stack:
- Client ID: $Module
- Valid redirect URI: https://traefik.it-stack.lab/*
- Web origins: https://traefik.it-stack.lab
Add to Traefik dynamic config:
http:
routers:
traefik:
rule: Host(\$Module.it-stack.lab\)
service: traefik
tls: {}
services:
traefik:
loadBalancer:
servers:
- url: http://lab-proxy1:80# Copy production compose to server
scp docker/docker-compose.production.yml admin@lab-proxy1:~/
# Deploy
ssh admin@lab-proxy1 'docker compose -f docker-compose.production.yml up -d'curl -I https://traefik.it-stack.lab/health| Variable | Description | Default |
|---|---|---|
| DB_HOST | PostgreSQL host | lab-db1 |
| DB_PORT | PostgreSQL port | 5432 |
| REDIS_HOST | Redis host | lab-db1 |
| KEYCLOAK_URL | Keycloak base URL | https://lab-id1:8443 |
| KEYCLOAK_REALM | Keycloak realm | it-stack |