# 巡樓資料服務:Mongo + Redis # 只綁 127.0.0.1,給同主機上以 systemd 跑的 Go gateway / worker 連線。 # 啟動:docker compose -f infra/docker-compose.yml --env-file infra/.env up -d name: haixun-infra services: mongo: image: mongo:7 restart: unless-stopped ports: - "127.0.0.1:${MONGO_PORT:-27017}:27017" environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USER:-haixun} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD:?MONGO_ROOT_PASSWORD is required} MONGO_INITDB_DATABASE: ${MONGO_DATABASE:-haixun} volumes: - mongo_data:/data/db healthcheck: test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping')"] interval: 10s timeout: 5s retries: 5 start_period: 20s redis: image: redis:7 restart: unless-stopped command: ["redis-server", "--requirepass", "${REDIS_PASSWORD:?REDIS_PASSWORD is required}", "--appendonly", "yes"] ports: - "127.0.0.1:${REDIS_PORT:-6379}:6379" volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 10s volumes: mongo_data: redis_data: