services: mongo: image: mongo:8 restart: unless-stopped volumes: - mongo_data:/data/db healthcheck: test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] interval: 10s timeout: 5s retries: 5 start_period: 20s redis: image: redis:8 restart: unless-stopped volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 server: build: context: ../server dockerfile: Dockerfile restart: unless-stopped ports: - "8080:8080" - "9090:9090" environment: MONGO_URI: mongodb://mongo:27017/keymanager REDIS_ADDR: redis:6379 GITEA_HOST: ${GITEA_HOST} PUBLIC_HOST: ${PUBLIC_HOST} GRPC_HOST: ${GRPC_HOST} GRPC_PORT: "9090" HTTP_PORT: "8080" OIDC_ISSUER: ${OIDC_ISSUER:-} OIDC_CLIENT_ID: ${OIDC_CLIENT_ID:-} OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-} OIDC_REDIRECT_URL: ${OIDC_REDIRECT_URL:-} depends_on: mongo: condition: service_healthy redis: condition: service_healthy web: build: context: ../web dockerfile: Dockerfile args: NEXT_PUBLIC_API_URL: http://server:8080 restart: unless-stopped ports: - "3000:3000" depends_on: - server volumes: mongo_data: redis_data: