services: backend: build: context: ./backend container_name: theplug-backend restart: unless-stopped env_file: - path: ./backend/.env required: false environment: MONGODB_URI: mongodb://${MONGO_USER:-theplug}:${MONGO_INITDB_ROOT_PASSWORD:-theplug_dev_password}@mongodb:27017/${MONGO_DB:-theplug}?authSource=admin MONGODB_DB_NAME: ${MONGO_DB:-theplug} ports: - "${API_PORT:-3671}:3671" depends_on: mongodb: condition: service_healthy frontend: build: context: ./frontend container_name: theplug-frontend restart: unless-stopped ports: - "${FRONTEND_PORT:-5173}:80" depends_on: - backend mongodb: image: mongo:8.2 container_name: theplug-mongodb restart: unless-stopped environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER:-theplug} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-theplug_dev_password} MONGO_INITDB_DATABASE: ${MONGO_DB:-theplug} ports: - "27017:27017" volumes: - theplug_mongodb:/data/db healthcheck: test: ["CMD-SHELL", "mongosh --quiet --username ${MONGO_USER:-theplug} --password ${MONGO_INITDB_ROOT_PASSWORD:-theplug_dev_password} --authenticationDatabase admin --eval \"db.adminCommand({ ping: 1 }).ok\" | grep 1"] interval: 10s timeout: 5s retries: 5 start_period: 10s volumes: theplug_mongodb: