Files
fiscad/docker-compose-prod.yml
Aurince AKAKPO e3a47de4ef
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 25s
correction lecture de secret
2025-12-20 12:38:33 +01:00

82 lines
1.8 KiB
YAML

services:
db:
image: postgres:15
container_name: fiscad-db
restart: always
environment:
POSTGRES_DB: ${POSTGRES_DB_FISCAD}
POSTGRES_USER: ${POSTGRES_USER_FISCAD}
POSTGRES_PASSWORD_FILE: /run/secrets/postgresPassword
secrets:
- postgresPassword
ports:
- "5432:5432"
volumes:
- db-data-fiscad:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER_FISCAD}"]
interval: 10s
timeout: 5s
retries: 5
app:
build:
context: .
dockerfile: Dockerfile
container_name: fiscad-app
restart: on-failure
depends_on:
- db
# ⚠️ IMPORTANT :
# On lit le secret dans le conteneur
# et on injecte la VALEUR dans SPRING_DATASOURCE_PASSWORD
command: >
sh -c "
export SPRING_DATASOURCE_PASSWORD=$(cat /run/secrets/postgresPassword) &&
exec java -jar app.jar
"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/${POSTGRES_DB_FISCAD}
SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER_FISCAD}
SERVER_PORT: 8282
IO_GMSS_FISCAD_PROFILE: dgi
SPRING_PROFILES_ACTIVE: dgi
DEFAULT_USER_NAME_FILE: /run/secrets/defaultUserName
DEFAULT_USER_PASSWORD_FILE: /run/secrets/defaultUserPassword
secrets:
- postgresPassword
- defaultUserName
- defaultUserPassword
ports:
- "8282:8282"
volumes:
- /fiscad/uploads:/app/uploads
- /fiscad/jasperReport:/app/jasperReport
- /fiscad/logs:/app/logs
volumes:
db-data-fiscad:
secrets:
postgresPassword:
file: ./secrets/postgresPassword.txt
defaultUserName:
file: ./secrets/defaultUserName.txt
defaultUserPassword:
file: ./secrets/defaultUserPassword.txt