70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
# 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:
|