Files
DjangoAdmin_FastAPI_NaiveVue/.env.example
T
2026-09-14 13:24:50 +08:00

175 lines
6.0 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.
# +======================================================================
# | 模块: 环境变量示例文件
# | 说明: .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
# ============================================================
# 邮件配置
# ============================================================
# 邮件传输代理
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: