Files
QQuiz/docker-compose-single.yml
2025-12-12 22:36:25 +08:00

63 lines
1.8 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.

# ==================== 单容器部署配置 ====================
# 使用方法docker-compose -f docker-compose-single.yml up -d
version: '3.8'
services:
qquiz:
build:
context: .
dockerfile: Dockerfile
container_name: qquiz
ports:
- "8000:8000"
environment:
# 数据库配置SQLite 默认)
- DATABASE_URL=sqlite+aiosqlite:////app/data/qquiz.db
# JWT 密钥(生产环境请修改)
- SECRET_KEY=your-super-secret-key-change-in-production-minimum-32-characters
# AI 提供商配置
- AI_PROVIDER=gemini
- GEMINI_API_KEY=${GEMINI_API_KEY}
- GEMINI_BASE_URL=${GEMINI_BASE_URL:-https://generativelanguage.googleapis.com}
- GEMINI_MODEL=${GEMINI_MODEL:-gemini-2.0-flash-exp}
# OpenAI 配置(可选)
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o-mini}
# Anthropic 配置(可选)
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL:-claude-3-haiku-20240307}
# Qwen 配置(可选)
- QWEN_API_KEY=${QWEN_API_KEY:-}
- QWEN_BASE_URL=${QWEN_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
- QWEN_MODEL=${QWEN_MODEL:-qwen-plus}
# 系统配置
- ALLOW_REGISTRATION=true
- MAX_UPLOAD_SIZE_MB=10
- MAX_DAILY_UPLOADS=20
volumes:
# 持久化数据卷
- qquiz_data:/app/data # 数据库文件
- qquiz_uploads:/app/uploads # 上传文件
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
qquiz_data:
qquiz_uploads: