Files
dpb/docker/.env.example
T

58 lines
1.7 KiB
Bash
Raw Normal View History

# Docker 部署环境变量(案例)
# 生产配置已全部收敛到本文件,由 docker-compose 注入后端(镜像不再包含 backend/env
# ── 数据库配置(PostgreSQL 16)──
DATABASE_TYPE=postgres
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_USER=dpb
DATABASE_PASSWORD=your_database_password
DATABASE_NAME=dpb
# ── Redis 配置 ──
REDIS_PASSWORD=your_redis_password
REDIS_PORT=6379
# ── JWT 签名密钥(生产必须为独立随机值,如:openssl rand -hex 32;禁止默认值)──
SECRET_KEY=your_random_secret_key_at_least_32_chars
# ── 应用层配置 ──
# CORS 域名白名单(逗号分隔的具体域名;为空时后端 prod 校验将拒绝启动)
PROD_CORS_ORIGINS=https://admin.example.com,https://www.example.com
# Host 头白名单(nginx 反代时后端据此校验 Host,必须包含真实域名)
ALLOWED_HOSTS=["admin.example.com","*.example.com"]
# 是否信任 nginx 透传的客户端 IP 头(经可信代理时必须 true)
IP_TRUST_PROXY_HEADERS=true
# 登录暴力破解防护
LOGIN_MAX_FAILURES=5
LOGIN_FAILURE_WINDOW_SECONDS=900
LOGIN_LOCKOUT_SECONDS=900
# 登录验证码 / 演示模式 / 开发默认密码(生产必须保持为空!)
CAPTCHA_ENABLE=true
DEMO_ENABLE=false
DEV_DEFAULT_PASSWORD=
# ── SMTP 邮件(按需)──
SMTP_HOST=
SMTP_PORT=465
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=
SMTP_FROM_NAME=客户服务
SMTP_TLS=true
EMAIL_CODE_EXPIRE_SECONDS=300
# ── 大模型(按需)──
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_API_KEY=
OPENAI_MODEL=deepseek-chat
# ── 服务端口 ──
BACKEND_PORT=8001
HTTP_PORT=80
HTTPS_PORT=443
# ── 部署 ──
DEPLOY_ENV=prod
PROJECT_NAME=dpb