services: backend: build: context: . dockerfile: docker/Dockerfile.dev args: BUILDKIT_INLINE_CACHE: 0 pull_policy: build container_name: normogen-backend-dev ports: # host 6501 (dev) -> container 6500, distinct from prod's 6500. - '6501:6500' volumes: - ./src:/app/src - startup-logs:/tmp environment: - APP_ENVIRONMENT=development - RUST_LOG=debug - RUST_LOG_STYLE=always - NORMOGEN_HOST=0.0.0.0 - NORMOGEN_PORT=6500 - MONGODB_URI=mongodb://mongodb:27017 - MONGODB_DATABASE=normogen_dev - JWT_SECRET=dev-jwt-secret-key-minimum-32-chars depends_on: mongodb: condition: service_healthy networks: - normogen-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:6500/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped mongodb: image: mongo:7 container_name: normogen-mongodb-dev ports: - '27017:27017' environment: - MONGO_INITDB_DATABASE=normogen_dev volumes: - mongodb_dev_data:/data/db networks: - normogen-network user: mongodb:mongodb healthcheck: test: | echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 5s retries: 5 start_period: 60s restart: unless-stopped volumes: mongodb_dev_data: driver: local startup-logs: driver: local networks: normogen-network: driver: bridge