cw-deploy/cw_docker_deploy/roles/iam_service/templates/compose.yml.j2
2026-04-14 18:45:11 +03:00

54 lines
2.0 KiB
Django/Jinja

services:
keycloak_web:
##image: quay.io/keycloak/keycloak:26.3
image: {{ docker_registry }}/custom-keycloak-web:{{ instance_type }}
container_name: keycloak_web
restart: always
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://keycloakdb:5432/keycloak
KC_DB_USERNAME: {{ iam_db_username }}
KC_DB_PASSWORD: {{ iam_db_pass }}
KC_HOSTNAME: {{ iam_fqdn }}
KC_HOSTNAME_PORT: 8443
KEYCLOAK_HTTPS_PORT: 8443
KEYCLOAK_PRODUCTION: 'true'
KEYCLOAK_ENABLE_HTTPS: 'true'
KEYCLOAK_HTTPS_USE_PEM: 'true'
KC_HTTPS_CERTIFICATE_FILE: /etc/x509/https/iam.pem
KC_HTTPS_CERTIFICATE_KEY_FILE: /etc/x509/https/iam.pem
KC_LOG_LEVEL: info
KC_METRICS_ENABLED: 'true'
KC_HEALTH_ENABLED: 'true'
KEYCLOAK_ADMIN: {{ iam_admin_username }}
KEYCLOAK_ADMIN_PASSWORD: {{ iam_admin_pass }}
KC_SPI_TRUSTSTORE_FILE_PASSWORD: password
KC_SPI_TRUSTSTORE_FILE_HOSTNAME_VERIFICATION_POLICY: ANY
{% if user_event_publisher.enable == "yes" %}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_KEYCLOAK_ORIGIN: https://{{ iam_fqdn }}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_USER_ORIGIN: {{ user_event_publisher.user_app_url }}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_REALM: {{ iam_realm }}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_CLIENT_ID: {{ user_app_client_id }}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_CLIENT_SECRET: {{ user_app_client_secret }}
KC_SPI_EVENTS_LISTENER_USER_EVENTS_PUBLISHER_TIMEOUT: 5
{% endif %}
command:
- start
depends_on:
- keycloakdb
ports:
- 443:8443
volumes:
- "/opt/docker/keycloak/ssl/:/etc/x509/https"
keycloakdb:
image: postgres:16
container_name: keycloakdb
restart: always
volumes:
- /opt/docker/keycloak/db/:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: {{ iam_db_username }}
POSTGRES_PASSWORD: {{ iam_db_pass }}