43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
# 巡樓資料服務: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:
|