services: backend: build: context: . dockerfile: docker/Dockerfile.dev args: BUILDKIT_INLINE_CACHE: 0 pull_policy: build container_name: normogen-backend-dev ports: - '6800:8000' volumes: - ./src:/app/src environment: - RUST_LOG=debug - SERVER_PORT=8000 - MONGODB_URI=mongodb://mongodb:27017 - DATABASE_NAME=normogen_dev - JWT_SECRET=dev-jwt-secret-key-minimum-32-chars depends_on: mongodb: condition: service_healthy networks: - normogen-network restart: unless-stopped mongodb: image: mongo:6.0 container_name: normogen-mongodb-dev ports: - '27017:27017' environment: - MONGO_INITDB_DATABASE=normogen_dev volumes: - mongodb_dev_data:/data/db # For debugging: mount host directory instead # - ./mongodb-data:/data/db networks: - normogen-network # Fix: Explicitly set user to avoid permission issues user: mongodb:mongodb # Alternative: Run as root but fix ownership # user: root healthcheck: test: | echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 5s retries: 5 start_period: 60s volumes: mongodb_dev_data: driver: local networks: normogen-network: driver: bridge