Keycloak
Diese Rolle installiert/deinstalliert Keycloak mit einer eigenen PostgreSQL-Datenbank
über Docker Compose. Keycloak läuft mit start hinter einem Reverse Proxy, der TLS
terminiert. Docker mit Compose-Plugin und die Collection community.docker müssen
installiert sein. Das externe Proxy-Netzwerk muss bereits existieren.
Variablen
Die Konfiguration erfolgt wie bei der Zitadel-Rolle über die Gruppen-/Host-Variablen:
1 2 3 4 5 | |
Beide Passwörter müssen gesetzt und mit Ansible Vault gespeichert werden. Die Admin-Zugangsdaten erstellen beim ersten Start einen temporären Bootstrap-Admin. Danach einen dauerhaften Administrator anlegen und den temporären Benutzer löschen. Eine spätere Änderung der Variablen setzt bestehende Admin- oder Datenbankpasswörter nicht zurück.
Verwendung
Die Rolle im gewünschten Playbook ergänzen:
1 2 3 4 | |
1 2 | |
playbooks/keycloak.yml ist hier der Pfad des selbst angelegten Playbooks.
Wie bei Zitadel führt ein Aufruf ohne Tag zuerst die Deinstallation und dann die
Installation aus. Für Updates gezielt keycloak-install verwenden.
Die Deinstallation entfernt beide Container; das Volume keycloak_postgres und die
Netzwerke bleiben erhalten. Vor Versionsupdates ein Datenbank-Backup erstellen.
Reverse Proxy
Beispiel für Caddy im selben Docker-Netzwerk:
1 2 3 | |
DNS muss auf den Proxy zeigen. Der Proxy muss die X-Forwarded-*-Header zuverlässig
setzen/überschreiben. Nur vertrauenswürdige Container dürfen Zugriff auf das
Proxy-Netzwerk haben. Keycloak und PostgreSQL veröffentlichen keine Host-Ports.
Referenzen: Keycloak Container, Reverse Proxy.