Files
arboris-novel/.env.example
tvon 2dcb79065d Revise .env.example with clearer instructions
Updated the .env.example file with improved instructions and configuration options.
2025-10-16 22:35:49 +08:00

146 lines
6.0 KiB
Plaintext
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.

# ===================================================================
# Docker Compose 环境变量配置示例
# ===================================================================
#
# 使用说明:
# 1. 将此文件复制为 .env 文件: `cp .env.example .env`
# 2. 根据您的实际需求,仔细检查并修改以下配置项。
# 3. 使用默认的 SQLite 数据库快速启动,只需运行:
# docker compose up -d
#
# ===================================================================
# -------------------------------------------------------------------
# A. 核心应用配置
# -------------------------------------------------------------------
# [必需] 应用对外暴露的网络端口
APP_PORT=8088
# [必需] 用于 JWT token 等安全功能的加密密钥。
# 警告:为了生产环境的安全,请务必将其修改为一个长且随机的复杂字符串!
# 您可以使用此命令生成: openssl rand -hex 32
SECRET_KEY=your-secret-key-change-me-to-random-string
# [可选] 应用环境,设置为 "development" 可以启用更详细的调试日志
ENVIRONMENT=production
# [可选] 是否开启调试模式,生产环境中应始终为 "false"
DEBUG=false
# [可选] 控制应用日志级别可选值CRITICAL/ERROR/WARNING/INFO/DEBUG/NOTSET
LOGGING_LEVEL=INFO
# -------------------------------------------------------------------
# B. 数据库配置
# -------------------------------------------------------------------
# [必需] 选择数据库类型。可选值: "sqlite", "mysql"。
# 默认为 "sqlite",这是最简单的配置,无需外部数据库服务。
DB_PROVIDER=sqlite
# --- B1. SQLite 配置 (默认) ---
# [可选] SQLite 数据库文件的存储位置。
# 如果留空或注释掉,将使用名为 'sqlite-data' 的 Docker 卷进行持久化。
# 若希望存储在宿主机上,可设置为路径,例如: ./storage
# SQLITE_STORAGE_SOURCE=./storage
# --- B2. MySQL 配置 (可选) ---
# 如果您希望使用 MySQL请先将上方的 DB_PROVIDER 设置为 "mysql",然后根据您的场景选择并配置以下两种方案之一。
# ▼▼▼ 方案一:使用内置的 MySQL 服务 (推荐用于快速体验) ▼▼▼
# 启动命令: DB_PROVIDER=mysql docker compose --profile mysql up -d
#
# 注意:以下变量由 docker-compose.yml 中的 `db` 服务使用。
MYSQL_HOST=db # 使用内置服务时,请勿修改此项
MYSQL_PORT=3306
MYSQL_USER=arboris
MYSQL_PASSWORD=your-database-password-change-me
MYSQL_DATABASE=arboris
MYSQL_ROOT_PASSWORD=your-root-password-change-me # 内置数据库需要设置 root 密码
# ▼▼▼ 方案二:连接到外部的 MySQL 数据库 ▼▼▼
# 启动命令: DB_PROVIDER=mysql docker compose up -d
#
# 注意:请确保应用容器可以访问到您的外部数据库地址。
# `host.docker.internal` 是一个特殊的DNS名可用于从容器内部访问宿主机。
# MYSQL_HOST=host.docker.internal
# MYSQL_PORT=3306
# MYSQL_USER=your-external-db-user
# MYSQL_PASSWORD=your-external-db-password
# MYSQL_DATABASE=your-external-db-name
# 使用外部数据库时,无需设置 MYSQL_ROOT_PASSWORD。
# -------------------------------------------------------------------
# C. 初始化管理员账户
# -------------------------------------------------------------------
# 应用首次启动时,将使用以下凭据创建默认的管理员账户。
ADMIN_DEFAULT_USERNAME=admin
ADMIN_DEFAULT_PASSWORD=ChangeMe123!
ADMIN_DEFAULT_EMAIL=admin@example.com
# -------------------------------------------------------------------
# D. 大语言模型 (LLM) 与 RAG 配置
# -------------------------------------------------------------------
# --- D1. 主要生成模型配置 ---
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
# --- D2. 嵌入模型配置 (用于 RAG 检索) ---
# [必需] 嵌入模型提供方,可选 "openai" 或 "ollama"
EMBEDDING_PROVIDER=openai
# [可选] OpenAI / 兼容服务的 Base URL如果留空将复用上方的 OPENAI_API_BASE_URL
EMBEDDING_BASE_URL=https://api.openai.com/v1
# [可选] 嵌入模型专用的 API Key如果留空将复用上方的 OPENAI_API_KEY
EMBEDDING_API_KEY=sk-your-api-key-here
# [必需] 默认嵌入模型名称
EMBEDDING_MODEL=text-embedding-3-large
# [必需] 嵌入模型的向量维度,必须与模型匹配;若不确定可保持默认
EMBEDDING_MODEL_VECTOR_SIZE=3072
# [可选] 如果使用 Ollama 本地模型 (EMBEDDING_PROVIDER=ollama),请配置其服务地址与模型。
OLLAMA_EMBEDDING_BASE_URL=http://host.docker.internal:11434
OLLAMA_EMBEDDING_MODEL=nomic-embed-text:latest
# -------------------------------------------------------------------
# E. 向量数据库配置 (用于 RAG)
# -------------------------------------------------------------------
# [可选] RAG 功能依赖向量数据库,默认使用本地文件。
VECTOR_DB_URL=file:./storage/rag_vectors.db
VECTOR_DB_AUTH_TOKEN=
VECTOR_TOP_K_CHUNKS=5
VECTOR_TOP_K_SUMMARIES=3
VECTOR_CHUNK_SIZE=480
VECTOR_CHUNK_OVERLAP=120
# -------------------------------------------------------------------
# F. 可选服务与功能开关
# -------------------------------------------------------------------
# --- F1. SMTP 邮件发送配置 ---
# [可选] 用于发送注册验证、密码重置等邮件。
SMTP_SERVER=smtp.example.com
SMTP_PORT=465
SMTP_USERNAME=no-reply@example.com
SMTP_PASSWORD=your-smtp-password
EMAIL_FROM=拯救小说家
# --- F2. 功能开关 ---
# 是否允许新用户注册
ALLOW_USER_REGISTRATION=false
# 是否启用 Linux.do 第三方登录
ENABLE_LINUXDO_LOGIN=false
# --- F3. Linux.do OAuth 配置 (如果启用) ---
# 仅当 ENABLE_LINUXDO_LOGIN=true 时需要配置。
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