version: '3.8' services: keycloak-db: image: postgres:14-alpine env_file: - ../config/keycloak/keycloak.env healthcheck: test: ["CMD", "nc", "-v", "localhost", "5432"] interval: 30s timeout: 10s retries: 10 start_period: 3s ports: - 5432 keycloak: image: cerc/keycloak:local env_file: - ../config/keycloak/keycloak.env environment: JAVA_OPTS_APPEND: "-Dkeycloak.migration.action=import -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=/import -Dkeycloak.migration.strategy=IGNORE_EXISTING" volumes: - ../config/keycloak/import:/import ports: - 8080 command: ["start"] depends_on: keycloak-db: condition: service_healthy keycloak-nginx: image: nginx:1.23-alpine restart: always volumes: - ../config/keycloak/nginx:/etc/nginx/conf.d ports: - 80 depends_on: - keycloak keycloak-nginx-prometheus-exporter: image: nginx/nginx-prometheus-exporter restart: always environment: - SCRAPE_URI=http://keycloak-nginx:80/stub_status depends_on: - keycloak-nginx