commit 1c64d001ccd9e4c9367fc4d2cd2419fa63ec0f82 Author: Serreau Jovann Date: Fri Apr 10 08:34:09 2026 +0200 Initial commit: Keycloak + Postgres docker-compose setup Co-Authored-By: Claude Opus 4.6 (1M context) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b4029f0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,49 @@ +services: + postgres: + image: postgres:16-alpine + container_name: ecosplay-auth-db + restart: unless-stopped + environment: + POSTGRES_DB: keycloak + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: keycloak + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - keycloak-net + healthcheck: + test: ["CMD-SHELL", "pg_isready -U keycloak"] + interval: 10s + timeout: 5s + retries: 5 + + keycloak: + image: quay.io/keycloak/keycloak:26.0 + container_name: ecosplay-auth-keycloak + restart: unless-stopped + command: start-dev + environment: + KC_DB: postgres + KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak + KC_DB_USERNAME: keycloak + KC_DB_PASSWORD: keycloak + KC_HOSTNAME: localhost + KC_HTTP_ENABLED: "true" + KC_HEALTH_ENABLED: "true" + KC_METRICS_ENABLED: "true" + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: admin + ports: + - "8080:8080" + depends_on: + postgres: + condition: service_healthy + networks: + - keycloak-net + +volumes: + postgres_data: + +networks: + keycloak-net: + driver: bridge