ocngx / docker-compose.yml
tanbushi's picture
update
7f2e1a6
version: '3.8'
services:
ocngx:
build: .
container_name: ocngx
ports:
- "7860:7860"
environment:
# 基本配置
- GATEWAY_HOST=127.0.0.1
- GATEWAY_PORT=3000
- USERNAME=admin
- PASSWORD=admin123
# HuggingFace Spaces 自动检测的环境变量
- SPACE_ID=${SPACE_ID:-}
- OPENCODE_PUBLIC_URL=${OPENCODE_PUBLIC_URL:-http://localhost:7860}
- PUBLIC_URL=${PUBLIC_URL:-http://localhost:7860}
- BASE_URL=${BASE_URL:-http://localhost:7860}
# 备份配置(可选)
- BACKUP_S3_BUCKET=${BACKUP_S3_BUCKET:-}
- BACKUP_DIR=${BACKUP_DIR:-/var/backups/ocngx}
# 日志级别
- LOG_LEVEL=${LOG_LEVEL:-info}
volumes:
# 持久化数据目录
- opencode_data:/root/.opencode
- backup_data:/var/backups/ocngx
# 日志目录
- ./logs:/var/log/nginx
# 时区同步
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7860/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- ocngx_network
# 可选:备份服务(用于自动备份到外部存储)
backup-scheduler:
image: alpine:latest
container_name: ocngx-backup
depends_on:
- ocngx
volumes:
- backup_data:/backups:ro
- ./backup-scripts:/scripts:ro
environment:
- BACKUP_S3_BUCKET=${BACKUP_S3_BUCKET:-}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
- AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-us-east-1}
command: >
sh -c "
apk add --no-cache curl tar jq &&
echo '0 2 * * * /scripts/backup.sh' > /etc/crontabs/root &&
crond -f -l 2
"
restart: unless-stopped
networks:
- ocngx_network
volumes:
opencode_data:
driver: local
backup_data:
driver: local
networks:
ocngx_network:
driver: bridge