Files
MuMuAINovel/backend/.env.example
T
2025-11-10 21:16:55 +08:00

140 lines
4.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.
# ==========================================
# MuMuAINovel 配置文件示例
# ==========================================
# 复制此文件为 .env 并修改配置值
# cp .env.example .env
# ==========================================
# 应用配置
# ==========================================
APP_NAME=MuMuAINovel
APP_VERSION=1.0.0
APP_HOST=0.0.0.0
APP_PORT=8000
DEBUG=True
# ==========================================
# 数据库配置
# ==========================================
# 选项1: PostgreSQL(生产环境推荐)
# DATABASE_URL=postgresql+asyncpg://username:password@localhost:5432/database_name
# 示例:
# DATABASE_URL=postgresql+asyncpg://mumuai:your_password@localhost:5432/mumuai_novel
# 选项2: SQLite(开发环境,默认)
DATABASE_URL=sqlite+aiosqlite:///data/ai_story.db
# PostgreSQL 连接池配置(优化后,支持80-150并发用户)
DATABASE_POOL_SIZE=30 # 核心连接数(默认30,小团队可用20)
DATABASE_MAX_OVERFLOW=20 # 最大溢出连接数(默认20,小团队可用10)
DATABASE_POOL_TIMEOUT=60 # 连接等待超时秒数(默认60
DATABASE_POOL_RECYCLE=1800 # 连接回收时间秒数(默认1800=30分钟)
DATABASE_POOL_PRE_PING=True # 连接前检测是否有效
DATABASE_POOL_USE_LIFO=True # 使用LIFO策略提高连接复用率
# 会话监控配置
DATABASE_SESSION_MAX_ACTIVE=50 # 活跃会话警告阈值
DATABASE_SESSION_LEAK_THRESHOLD=100 # 会话泄漏严重告警阈值
# SQLite 性能优化配置(仅在使用SQLite时生效)
SQLITE_CACHE_SIZE_MB=128 # SQLite缓存大小(MB),默认128
SQLITE_MMAP_SIZE_MB=256 # 内存映射I/O大小(MB),默认256
SQLITE_WAL_AUTOCHECKPOINT=1000 # WAL自动检查点间隔
# 数据库监控配置
DATABASE_ENABLE_SLOW_QUERY_LOG=True # 启用慢查询日志
DATABASE_SLOW_QUERY_THRESHOLD=1.0 # 慢查询阈值(秒)
DATABASE_ENABLE_METRICS=True # 启用性能指标收集
# ==========================================
# 日志配置
# ==========================================
LOG_LEVEL=INFO
LOG_TO_FILE=True
LOG_FILE_PATH=logs/app.log
LOG_MAX_BYTES=10485760
LOG_BACKUP_COUNT=30
# ==========================================
# CORS配置
# ==========================================
CORS_ORIGINS=["http://localhost:8000","http://127.0.0.1:8000"]
# ==========================================
# AI服务配置
# ==========================================
# OpenAI配置
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1
# 或使用兼容的API服务(如DeepSeek
# OPENAI_BASE_URL=https://api.deepseek.com/v1
# Gemini配置(可选)
# GEMINI_API_KEY=your_gemini_api_key_here
# GEMINI_BASE_URL=https://generativelanguage.googleapis.com
# Anthropic配置(可选)
# ANTHROPIC_API_KEY=your_anthropic_api_key_here
# ANTHROPIC_BASE_URL=https://api.anthropic.com
# 默认AI配置
DEFAULT_AI_PROVIDER=openai
DEFAULT_MODEL=gpt-4
DEFAULT_TEMPERATURE=0.7
DEFAULT_MAX_TOKENS=2000
# ==========================================
# LinuxDO OAuth2 配置(可选)
# ==========================================
# LINUXDO_CLIENT_ID=your_client_id
# LINUXDO_CLIENT_SECRET=your_client_secret
# LINUXDO_REDIRECT_URI=http://localhost:8000/api/auth/callback
# 前端URL(OAuth回调后重定向)
FRONTEND_URL=http://localhost:8000
# 初始管理员(LinuxDO user_id
# INITIAL_ADMIN_LINUXDO_ID=12345
# ==========================================
# 本地账户登录配置
# ==========================================
LOCAL_AUTH_ENABLED=True
LOCAL_AUTH_USERNAME=admin
LOCAL_AUTH_PASSWORD=admin123
LOCAL_AUTH_DISPLAY_NAME=本地管理员
# ==========================================
# 会话配置
# ==========================================
SESSION_EXPIRE_MINUTES=120
SESSION_REFRESH_THRESHOLD_MINUTES=30
# ==========================================
# 部署配置说明
# ==========================================
# 生产环境 PostgreSQL 配置示例(50-100并发用户):
# DATABASE_URL=postgresql+asyncpg://mumuai:SecurePassword123@db.example.com:5432/mumuai_prod
# DATABASE_POOL_SIZE=30
# DATABASE_MAX_OVERFLOW=20
# DATABASE_POOL_TIMEOUT=60
# DATABASE_POOL_RECYCLE=1800
# DATABASE_SESSION_MAX_ACTIVE=50
# DEBUG=False
# LOG_LEVEL=WARNING
# 高并发环境 PostgreSQL 配置示例(100+并发用户):
# DATABASE_URL=postgresql+asyncpg://mumuai:SecurePassword123@db.example.com:5432/mumuai_prod
# DATABASE_POOL_SIZE=40
# DATABASE_MAX_OVERFLOW=30
# DATABASE_SESSION_MAX_ACTIVE=80
# DATABASE_SESSION_LEAK_THRESHOLD=150
# Docker 部署配置示例:
# DATABASE_URL=postgresql+asyncpg://mumuai:password@postgres:5432/mumuai_novel
# OPENAI_BASE_URL=https://api.openai.com/v1
# FRONTEND_URL=https://your-domain.com
# LINUXDO_REDIRECT_URI=https://your-domain.com/api/auth/callback