init: 初始化 dpb 桃育种系统代码库
前后端 + 后端 FastAPI 全量源码、部署脚本与文档。
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 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=FastapiAdmin
|
||||
Reference in New Issue
Block a user