Files
dpb/docker/.env.example
T
34047007@qq.com 86126ea16f checkpoint: 架构治理四件套——统一 async / 测试真 PG / Redis 降级可选 / DPB 扶正
- A1 业务层统一 async:gencode 表内省改 run_sync 异步(不再阻塞事件循环)、
  check_db 改 async_engine、dict_util 启动预热异步载入;psycopg 降为
  APScheduler SQLAlchemyJobStore 专用同步孤岛(注释标注)
- A2 测试真 PG 化:conftest 弃 SQLite + mock Redis,改连真实 PG16(dpb_test)+
  Redis(number_gen advisory lock 路径真被测);新增 docker/test-compose.yaml
  测试依赖栈(postgres:16:5433 + redis:7:6380);run_ci 前置探测 + 容器兜底,
  pytest -m pg 10 套正式 tc 全过(真实 PG16 + Redis)
- B1 Redis 启动不强依赖:redis_connect 失败降级启动,缓存类回源 DB、存储类
  (会话/AI 配置/调度)经 require_redis 守卫返回 503;真机 3 阶段降级测试
  PASS=11 FAIL=0(独立 Redis 6390 + 后端 8091,不动共享 dev 服务)
- C 扶正 DPB:后端横幅/日志(dpb.log)/README/pyproject/ai_factory agent 名、
  前端 package.json/署名注释/链接文案/deploy.sh/docker 注释全部去 fastapiadmin;
  grep backend/app + frontend/web/src 零残留
- 验证:全量回归 pass=72 fail=0
2026-08-07 09:06:19 +08:00

58 lines
1.7 KiB
Bash
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 部署环境变量(案例)
# 生产配置已全部收敛到本文件,由 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