# ============================================ # Docker Compose 环境变量配置示例 # ============================================ # 使用说明: # 1. 复制此文件为 .env: cp .env.example .env # 2. 修改以下配置项为您的实际值 # 3. 根据数据库选择启动命令: # - 默认 SQLite: docker compose up -d # - 内置 MySQL: DB_PROVIDER=mysql docker compose --profile mysql up -d # - 外部 MySQL: DB_PROVIDER=mysql docker compose up -d # ============================================ # -------------------------------------------- # 应用端口配置 # -------------------------------------------- APP_PORT=8088 # -------------------------------------------- # FastAPI 基础配置 # -------------------------------------------- # SECRET_KEY 用于 JWT token 加密,必须设置为随机且复杂的字符串 SECRET_KEY=your-secret-key-change-me-to-random-string ENVIRONMENT=production DEBUG=false # -------------------------------------------- # 数据库配置 # -------------------------------------------- # mysql/sqlite 默认数据库类型;docker compose up -d 将以 SQLite 运行 DB_PROVIDER=sqlite # SQLite 数据存储映射(可选):留空或移除即使用命名卷 sqlite-data # 可设置为宿主机路径或其他卷名,例如:./storage 或 /data/arboris # SQLITE_STORAGE_SOURCE=./storage # 📌 方案一:使用内置 MySQL 数据库(推荐快速体验) # 启动命令: DB_PROVIDER=mysql docker compose --profile mysql up -d # 配置如下(保持 MYSQL_HOST=db): # MYSQL_HOST=db # MYSQL_PORT=3306 # MYSQL_USER=arboris # MYSQL_PASSWORD=your-database-password-change-me # MYSQL_DATABASE=arboris # 内置数据库需要设置 ROOT 密码 # MYSQL_ROOT_PASSWORD=your-root-password-change-me # 内置数据库对外暴露的端口(可选,用于外部连接) # 如果宿主机 3306 端口被占用,修改为其他端口,如 3307 # MYSQL_EXTERNAL_PORT=3307 # 📌 方案二:使用外部 MySQL 数据库 # 启动命令: DB_PROVIDER=mysql docker compose up -d # 配置如下(修改 MYSQL_HOST 为外部数据库地址): # MYSQL_HOST=host.docker.internal # MYSQL_PORT=3306 # MYSQL_USER=root # MYSQL_PASSWORD=123456 # MYSQL_DATABASE=arboris # 注意:使用外部数据库时不需要设置 MYSQL_ROOT_PASSWORD # -------------------------------------------- # 管理员初始化账号 # -------------------------------------------- ADMIN_DEFAULT_USERNAME=admin ADMIN_DEFAULT_PASSWORD=ChangeMe123! ADMIN_DEFAULT_EMAIL=admin@example.com # -------------------------------------------- # 公共OpenAI / LLM 配置 # -------------------------------------------- OPENAI_API_KEY=sk-your-api-key-here OPENAI_API_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL_NAME=gpt-3.5-turbo WRITER_CHAPTER_VERSION_COUNT=2 # -------------------------------------------- # SMTP 邮件发送配置 # -------------------------------------------- SMTP_SERVER=smtp.example.com SMTP_PORT=465 SMTP_USERNAME=no-reply@example.com SMTP_PASSWORD=your-smtp-password EMAIL_FROM=拯救小说家 # -------------------------------------------- # 注册与第三方登录开关 # -------------------------------------------- ALLOW_USER_REGISTRATION=false ENABLE_LINUXDO_LOGIN=false # -------------------------------------------- # Linux.do OAuth 配置(如果启用) # -------------------------------------------- LINUXDO_CLIENT_ID=your_client_id LINUXDO_CLIENT_SECRET=your_client_secret LINUXDO_REDIRECT_URI=https://your-domain.com/api/auth/linuxdo/register LINUXDO_AUTH_URL=https://connect.linux.do/oauth2/authorize LINUXDO_TOKEN_URL=https://connect.linux.do/oauth2/token LINUXDO_USER_INFO_URL=https://connect.linux.do/api/user