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: # Option 1: Use named volume (default) - mongodb_dev_data:/data/db # Option 2: Use host directory with more space # - /path/to/more/space/mongodb:/data/db # Option 3: Use tmpfs (WARNING: data is lost on container stop!) # - mongodb_tmp:/data/db networks: - normogen-network 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 # For Option 3 (tmpfs): # mongodb_tmp: # driver: local # driver_opts: # type: tmpfs # device: tmpfs networks: normogen-network: driver: bridge