rwadurian/backend/services/docker-compose.snapshot.yml

61 lines
1.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据快照备份服务 (1.0 认种分配系统)
# 使用方式: docker compose -f docker-compose.yml -f docker-compose.snapshot.yml up snapshot-service
#
# 纯新增 overlay不修改任何现有服务配置
services:
snapshot-service:
build:
context: ./snapshot-service
dockerfile: Dockerfile
container_name: rwa-snapshot-service
ports:
- "3099:3099"
environment:
- NODE_ENV=production
- APP_PORT=3099
- DATABASE_URL=file:./data/snapshot.db
# PostgreSQL (备份目标)
- PG_HOST=postgres
- PG_PORT=5432
- PG_USER=${POSTGRES_USER:-rwa_user}
- PG_PASSWORD=${POSTGRES_PASSWORD}
# Redis (备份目标)
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
# MinIO (备份目标 + 存储后端)
- MINIO_ENDPOINT=${MINIO_ENDPOINT:-192.168.1.100}
- MINIO_PORT=${MINIO_PORT:-9000}
- MINIO_USE_SSL=${MINIO_USE_SSL:-false}
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
- MINIO_BACKUP_BUCKET=snapshots
# 备份配置
- SNAPSHOT_TEMP_DIR=/app/data/snapshots
- SNAPSHOT_RETENTION_HOURS=72
- AVAILABLE_TARGETS=POSTGRES,REDIS,KAFKA,ZOOKEEPER,MINIO,UPLOADS
volumes:
- snapshot_data:/app/data
- redis_data:/backup-source/redis:ro
- kafka_data:/backup-source/kafka:ro
- zookeeper_data:/backup-source/zookeeper/data:ro
- zookeeper_log:/backup-source/zookeeper/log:ro
- admin_uploads_data:/backup-source/uploads:ro
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3099/api/v1/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 30s
networks:
- rwa-network
volumes:
snapshot_data: