34 lines
1.3 KiB
YAML
34 lines
1.3 KiB
YAML
services:
|
||
douyu-login:
|
||
build: .
|
||
container_name: douyu-login
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8000:8000"
|
||
volumes:
|
||
# 持久化数据库和日志
|
||
- ./data:/app/data
|
||
- ./logs:/app/logs
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
# JWT 密钥(生产环境务必修改,可用 python -c "import secrets; print(secrets.token_urlsafe(32))" 生成)
|
||
- JWT_SECRET_KEY=${JWT_SECRET_KEY:-}
|
||
# 敏感字段落盘加密密钥(生产环境务必长期保持不变)
|
||
- APP_ENCRYPTION_KEY=${APP_ENCRYPTION_KEY:-}
|
||
# 默认管理员账号密码(仅首次启动建库时生效)
|
||
- ADMIN_USERNAME=${ADMIN_USERNAME:-admin}
|
||
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123}
|
||
# Cookie 安全标志(HTTPS 部署时设为 true)
|
||
- COOKIE_SECURE=${COOKIE_SECURE:-false}
|
||
# CORS 允许的源(逗号分隔)
|
||
- CORS_ORIGINS=${CORS_ORIGINS:-}
|
||
# Roundcube 邮件验证码读取服务地址(不填则使用代码默认值)
|
||
- MAIL_ROUNDCUBE_URL=${MAIL_ROUNDCUBE_URL:-}
|
||
# Uvicorn reload(生产环境保持 false)
|
||
- UVICORN_RELOAD=${UVICORN_RELOAD:-false}
|
||
healthcheck:
|
||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health')"]
|
||
interval: 30s
|
||
timeout: 5s
|
||
retries: 3
|