# Stack complète Lions User Manager : Postgres, Keycloak, Serveur API, Client Web # Usage: depuis la racine lions-user-manager : docker-compose -f script/docker/docker-compose.yml up -d # Build préalable : script/build-all.sh (ou build-all.bat) services: postgres: image: postgres:15 environment: POSTGRES_DB: ${DB_NAME:-lions_user_manager} POSTGRES_USER: ${DB_USER:-lions} POSTGRES_PASSWORD: ${DB_PASSWORD:-lions} ports: - "${DB_PORT:-5432}:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-lions} -d ${DB_NAME:-lions_user_manager}"] interval: 5s timeout: 5s retries: 5 keycloak: image: quay.io/keycloak/keycloak:26.3.3 command: start-dev environment: KC_DB: postgres KC_DB_URL: jdbc:postgresql://postgres:5432/${DB_NAME:-lions_user_manager} KC_DB_USERNAME: ${DB_USER:-lions} KC_DB_PASSWORD: ${DB_PASSWORD:-lions} KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_ADMIN:-admin} KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_ADMIN_PASSWORD:-admin} ports: - "${KC_PORT:-8180}:8080" depends_on: postgres: condition: service_healthy lions-user-manager-server: build: context: ../../lions-user-manager-server-impl-quarkus dockerfile: src/main/docker/Dockerfile.jvm ports: - "${SERVER_PORT:-8080}:8080" environment: QUARKUS_DATASOURCE_JDBC_URL: jdbc:postgresql://postgres:5432/${DB_NAME:-lions_user_manager} QUARKUS_DATASOURCE_USERNAME: ${DB_USER:-lions} QUARKUS_DATASOURCE_PASSWORD: ${DB_PASSWORD:-lions} KEYCLOAK_SERVER_URL: http://keycloak:8080 depends_on: postgres: condition: service_healthy keycloak: condition: service_started lions-user-manager-client: build: context: ../../lions-user-manager-client-quarkus-primefaces-freya dockerfile: src/main/docker/Dockerfile.jvm ports: - "${CLIENT_PORT:-8082}:8082" environment: KEYCLOAK_SERVER_URL: http://keycloak:8080 LIONS_USER_MANAGER_API_URL: http://lions-user-manager-server:8080 depends_on: - keycloak - lions-user-manager-server volumes: postgres_data: