services: db: image: postgres:18-alpine container_name: gim_db restart: unless-stopped ports: - "5432:5432" environment: POSTGRES_USER: ${POSTGRES_USER:-gim_db_admin} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-gim_db_password} POSTGRES_DB: ${POSTGRES_DB:-gim_db} volumes: - db_data:/var/lib/postgresql/data networks: - gim_network api: build: context: ./packages/backend dockerfile: Dockerfile container_name: gim_api restart: unless-stopped depends_on: - db environment: - DB_HOST=db - DB_PORT=5432 - DB_USER=${POSTGRES_USER:-gim_db_admin} - DB_PASSWORD=${POSTGRES_PASSWORD:-gim_db_password} - DB_NAME=${POSTGRES_DB:-gim_db} - ENCRYPTION_MASTER_KEY=${ENCRYPTION_MASTER_KEY} ports: - "3000:3000" networks: - gim_network web: build: context: ./packages/frontend dockerfile: Dockerfile container_name: gim_web restart: unless-stopped depends_on: - api ports: - "80:80" # - "443:443" # À décommenter lors de la mise en place du certificat SSL/TLS networks: - gim_network networks: gim_network: driver: bridge volumes: db_data: