Files
container/keycloak/docker-compose.yml

34 lines
1.2 KiB
YAML

services:
keycloak:
image: quay.io/keycloak/keycloak:${KEYCLOAK_VERSION:-latest}
environment:
KC_DB: ${KC_DB}
KC_DB_SCHEMA: ${KC_DB_SCHEMA}
KC_DB_USERNAME: ${KC_DB_USERNAME}
KC_DB_PASSWORD: ${KC_DB_PASSWORD}
KC_DB_URL_HOST: ${KC_DB_URL_HOST}
KC_METRICS_ENABLED: ${KC_METRICS_ENABLED}
KC_HEALTH_ENABLED: ${KC_HEALTH_ENABLED}
KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_BOOTSTRAP_ADMIN_USERNAME}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_BOOTSTRAP_ADMIN_PASSWORD}
KC_PROXY_HEADERS: ${KC_PROXY_HEADERS}
KC_HTTP_ENABLED: ${KC_HTTP_ENABLED}
KC_HOSTNAME_STRICT: ${KC_HOSTNAME_STRICT}
KC_HOSTNAME: ${KC_HOSTNAME}
KC_HOSTNAME_PORT: ${KC_PORT}
command: start
container_name: ${CONTAINER_NAME}
volumes:
- ${HOST_VOLUME}:/opt/keycloak/themes
restart: always
ports:
- ${HOST_PORT1}:8080
- ${HOST_PORT2}:8443
healthcheck:
test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/9000; echo -e 'GET /health/ready HTTP/1.1\r\nhost: localhost\r\nConnection: close\r\n\r\n' >&3; grep 'HTTP/1.1 200 OK' <&3"]
interval: 10s
timeout: 5s
retries: 3
start_period: 30s
entrypoint: '/opt/keycloak/bin/kc.sh'