sso.fb1.uni-bremen.de/docker/compose/keycloakserver/compose.yaml
2025-04-04 22:37:43 +02:00

51 lines
1.4 KiB
YAML

services:
keycloakserver:
image: quay.io/keycloak/keycloak:26.1
container_name: keycloakserver
hostname: keycloakserver
command: start
environment:
KC_PROXY_ADDRESS_FORWARDING: true
KC_HOSTNAME_STRICT: false
KC_HOSTNAME: ${KEYCLOAK_HOSTNAME}
KC_PROXY: edge
KC_HTTP_ENABLED: true
KC_HEALTH_ENABLED: true
KC_HTTP_RELATIVE_PATH: /sso
KC_PROXY_HEADERS: xforwarded
PROXY_ADDRESS_FORWARDING: true
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://keycloakpostgres/${POSTGRES_DB}
KC_DB_USERNAME: ${POSTGRES_USER}
KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
# KC_LOG_LEVEL: INFO
# KC_LOG_LEVEL: DEBUG
healthcheck:
test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/9000;echo -e 'GET /sso/health/ready HTTP/1.1\r\nhost: http://localhost\r\nConnection: close\r\n\r\n' >&3;if [ $? -eq 0 ]; then echo 'Healthcheck Successful';exit 0;else echo 'Healthcheck Failed';exit 1;fi;"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
volumes:
- ./export_data:/export_data
- ./custom:/opt/keycloak/themes/custom
ports:
- 8080:8080
- 9000:9000
restart: always
networks:
- keycloak-network
networks:
keycloak-network:
external: true