Hallo @Tobi,
vielen Dank für Deine herausragende Arbeit und v.a. extrem wertvolle Dokumentation derselben! Das ist mal wieder echt ein Highlight in diesem Forum!
Ich hatte keycloak auch vor längerer Zeit schon mal „angespielt“, war dann aber irgendwo in der zunächst doch recht unübersichtlichen Welt „verkommen“. Deine Posts habe ich jetzt zum Anlass genommen, dieses überaus sinnvolle und hilfreiche Thema mal wieder zu verfolgen und habe auch Dank Deiner Doku die erste Applikation (Bookstack) an Keycloak angebunden!
Da ich bisher keinen BBB-Server betreibe und wg. der Infos im Nachbarthread jetzt noch auf v3.0 warte (und obendrein gern meine Applikationen getrennt mag), habe ich mich für einen separaten keycloak als Docker entschieden.
Wer das auch machen möchte (und als Doku für mich), hier mein docker-compose (alles in <>
ist zu ersetzen):
services:
keycloak_web:
image: quay.io/keycloak/keycloak:latest
container_name: keycloak_web
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://keycloakdb:5432/keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: <geheim>
KC_HOSTNAME: <deine_keycloak_url>
KC_HOSTNAME_PORT: 8080
KC_HOSTNAME_STRICT: false
KC_HOSTNAME_STRICT_HTTPS: false
KC_HTTP_ENABLED: true
KC_PROXY_HEADERS: xforwarded
KC_PROXY_ADDRESS_FORWARDING: true
KC_LOG_LEVEL: info
KC_METRICS_ENABLED: true
KC_HEALTH_ENABLED: true
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: <geheim>
command: start-dev
depends_on:
- keycloakdb
ports:
- 8081:8080
keycloakdb:
image: postgres:15
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: <geheim>
volumes:
postgres_data:
Mein keycloak-Docker steht dabei hinter einem Reverse Proxy (Nginx Proxy Manager - ebenfalls ein Docker), dem man unter „Advanced“ noch folgendes mitgeben muss:
proxy_set_header X-Forwarded-For $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
Vielen Dank nochmal!
Jens