services: mongodb: image: mongo:latest container_name: dbutils-mongodb ports: - "${MONGO_PORT:-27017}:27017" environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_USERNAME} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD} MONGO_INITDB_DATABASE: ${MONGO_DATABASE} volumes: - mongodb-data:/data/db - mongodb-config:/data/configdb - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js networks: - dbutils-network restart: unless-stopped healthcheck: test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 5s retries: 5 start_period: 40s mongo-express: image: mongo-express:latest container_name: dbutils-mongo-express ports: - "${MONGO_EXPRESS_PORT:-8081}:8081" environment: ME_CONFIG_MONGODB_URL: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@mongodb:27017/?authSource=admin ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGO_USERNAME} ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_PASSWORD} ME_CONFIG_BASICAUTH_USERNAME: ${MONGO_EXPRESS_USERNAME:-dev} ME_CONFIG_BASICAUTH_PASSWORD: ${MONGO_EXPRESS_PASSWORD:-dev} depends_on: - mongodb networks: - dbutils-network restart: unless-stopped volumes: mongodb-data: mongodb-config: networks: dbutils-network: driver: bridge