签入版本

This commit is contained in:
2026-09-12 18:24:41 +08:00
commit fb2b7d9538
852 changed files with 115466 additions and 0 deletions
+179
View File
@@ -0,0 +1,179 @@
# +======================================================================
# | 模块: 环境变量示例文件
# | 说明: .env.example 模板,复制为 .env 后填写真实值
# +======================================================================
# ============================================================
# 环境变量示例文件(.env.example)
# ------------------------------------------------------------
# 用法:复制为 .env 后填写真实值
# cp .env.example .env (Windows: copy .env.example .env)
# 重要:
# 1. 本文件提交进仓库,只允许占位值,禁止填写任何真实密钥!
# 2. 真实 .env 已被 .gitignore 忽略,不会进入版本控制。
# 3. 构建/分发镜像时 .env 被 .dockerignore 排除,
# 环境变量由运行时注入(docker compose env_file / docker run --env-file)。
# ============================================================
# ============================================================
# 基础配置
# ============================================================
# 应用名称 - 用于界面显示和系统标识
FASTAPI_NAME=FastAPI+NaiveVue旗舰版
# 应用版本 - 当前版本号
FASTAPI_VERSION=v3.0.0
# 应用运行地址 - 127.0.0.1仅本地访问;容器/生产建议 0.0.0.0
FASTAPI_HOST=0.0.0.0
# 应用运行端口 - 服务监听的端口号
FASTAPI_PORT=8031
# 应用启动文件 - 项目入口Python文件
FASTAPI_APP=main.py
# 应用环境变量 - development/production/testing
FASTAPI_ENV=production
# 是否DEBUG模式 - 生产务必 False(详细错误日志会泄漏内部信息)
FASTAPI_DEBUG=False
# 是否DEMO模式 - True:演示模式(限制写操作),False:正常模式
FASTAPI_DEMO=False
# 文件访问域名 - 文件资源的CDN/访问域名(生产请配置真实域名)
FASTAPI_FILE_URL=http://file.fastapi.naivevue
# 允许上传的文件扩展名 - 逗号分隔,带点号;生产务必收紧,防止上传危险文件
UPLOAD_ALLOWED_EXTS=.jpg,.jpeg,.png,.gif,.bmp,.ico,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.mp3,.mp4,.zip,.rar,.7z
# 上传文件大小上限(MB)
UPLOAD_MAX_SIZE_MB=10
# ============================================================
# 数据库配置
# ============================================================
# 数据库驱动 - 可选 mysql/postgresql/mssql/oracle/sqlite
# (别名:postgres=postgresql、sqlserver=mssql、sqlite3=sqlite)
DB_DRIVER=mysql
# 数据库地址(sqlite 时忽略)
DB_HOST=127.0.0.1
# 数据库端口(sqlite 时忽略)
DB_PORT=3306
# 数据库名称/库名;DB_DRIVER=sqlite 时作为数据库文件完整路径
DB_DATABASE=djangoadmin.fastapi.naivevue
# 数据库账号(sqlite 时忽略)
DB_USERNAME=root
# 数据库密码 - 必填(sqlite 除外),替换为真实密码
DB_PASSWORD=CHANGE_ME_DB_PASSWORD
# 数据表前缀
DB_PREFIX=fastapi_
# 是否开启SQL调试日志 - 生产务必 False
DB_DEBUG=False
# ============================================================
# 缓存配置(Redis)
# ============================================================
# 缓存服务地址
REDIS_HOST=127.0.0.1
# 缓存服务端口
REDIS_PORT=6379
# 缓存服务密码 - REDIS_AUTH=True 时必填
REDIS_PASSWORD=CHANGE_ME_REDIS_PASSWORD
# 缓存库索引(0-15)
REDIS_INDEX=0
# 是否启用Redis认证
REDIS_AUTH=True
# 是否自动解码响应
REDIS_DECODE_RESPONSES=True
# ============================================================
# JWT令牌配置
# ============================================================
# JWT签名密钥 - 必填,至少32字节强随机值;留空应用会拒绝启动(fail-close)
# 生成方式:python -c "import secrets; print(secrets.token_urlsafe(48))"
JWT_SALT=
# JWT令牌过期时间(分钟)
JWT_EXPIRE_MINUTES=20
# 登录失败次数上限(防暴力破解)
LOGIN_FAIL_MAX=5
# 登录锁定时间(秒)
LOGIN_LOCK_SECONDS=300
# ============================================================
# 验证码配置
# ============================================================
# 验证码字符长度(4-6位)
CAPTCHA_LENGTH=6
# 验证码过期时间(秒)
CAPTCHA_EXPIRE=300
# 验证码防刷窗口期(秒)
CAPTCHA_RATE_WINDOW=60
# 验证码防刷上限(窗口期内最大获取次数)
CAPTCHA_RATE_LIMIT=10
# 验证码字符集(去除易混淆字符)
CAPTCHA_CHARS=ABCDEFGHJKLMNPQRSTUVWXYZ2346789
# 验证码字体路径
CAPTCHA_FONT_PATH=static/fonts/Vera.ttf
# 验证码图片宽度(像素)
CAPTCHA_IMAGE_WIDTH=160
# 验证码图片高度(像素)
CAPTCHA_IMAGE_HEIGHT=50
# 验证码字体大小
CAPTCHA_FONT_SIZE=28
# 干扰线数量
CAPTCHA_NOISE_LINES=6
# 噪点数量
CAPTCHA_NOISE_DOTS=30
# ============================================================
# 跨域 & 反向代理
# ============================================================
# CORS允许的源 - 逗号分隔,如 http://localhost:8001,https://admin.example.com
CORS_ALLOWED_ORIGINS=http://localhost:8001
# 可信代理层数 - 0=不信任X-Forwarded-For;仅部署在Nginx等反代后才设>=1
TRUSTED_PROXY_COUNT=0
# 可信代理IP白名单(逗号分隔)
TRUSTED_PROXY_IPS=
# ============================================================
# 邮件配置
# ============================================================
# 邮件传输代理
MAIL_MAILER=smtp
# 邮件服务地址
MAIL_SERVER=smtp.163.com
# 邮件服务端口
MAIL_PORT=465
# 是否启用SSL加密
MAIL_USE_SSL=True
# 授权邮箱用户名
MAIL_USERNAME=CHANGE_ME_MAIL_USERNAME
# 授权邮箱授权码
MAIL_PASSWORD=CHANGE_ME_MAIL_PASSWORD
# 邮件加密串(可选)
MAIL_ENCRYPTION=
# 邮件发件人名称
MAIL_FROM_NAME=
# 邮件发件人地址
MAIL_FROM_ADDRESS=
# ============================================================
# 短信配置(阿里云短信服务)
# ============================================================
# 短信服务地址
SMS_URL=
# 短信服务API密钥
SMS_API_KEY=
# 短信签名
SMS_SIGN=
# 短信模板ID
SMS_TEMPLATE_ID=
# ============================================================
# 请求限流(可选,默认关闭)
# ============================================================
# RATE_LIMIT_ENABLED=False
# RATE_LIMIT_LIMIT=100
# RATE_LIMIT_WINDOW_SECONDS=60
# RATE_LIMIT_KEY_PREFIX=rl: