services: db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: nest_db POSTGRES_USER: nest_user POSTGRES_PASSWORD: nest_password volumes: - db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U nest_user -d nest_db"] interval: 5s timeout: 5s retries: 5 api: image: git.crowmate.fr/crowmate/nest-api:latest restart: unless-stopped ports: - "${API_HOST_PORT:-3001}:3000" environment: DATABASE_URL: postgresql://nest_user:nest_password@db:5432/nest_db JWT_SECRET: ${JWT_SECRET} ADMIN_USERNAME: ${ADMIN_USERNAME} ADMIN_EMAIL: ${ADMIN_EMAIL} ADMIN_PASSWORD: ${ADMIN_PASSWORD} FRONT_ORIGIN: ${FRONT_ORIGIN:-http://localhost:5173} INTRA_ORIGIN: ${INTRA_ORIGIN:-http://localhost:5174} depends_on: db: condition: service_healthy front: image: git.crowmate.fr/crowmate/nest-front:latest restart: unless-stopped ports: - "5173:80" environment: API_URL: http://api:3000 depends_on: - api intra: image: git.crowmate.fr/crowmate/nest-intra:latest restart: unless-stopped ports: - "5174:5174" depends_on: - api volumes: db_data: