配置指南
RiceBall 使用环境变量和配置文件进行管理。
环境变量
RiceBall 支持通过 .env 文件或直接设置系统环境变量来进行配置。系统环境变量的优先级高于 .env 文件。这意味着在 Docker 容器或生产环境中,你可以直接注入环境变量来覆盖默认配置。
后端配置 (backend/.env)
复制 backend/.env.example 到 backend/.env 并修改以下值:
| 变量名 | 描述 | 默认值 / 示例 |
|---|---|---|
ENVIRONMENT | 运行环境 | development 或 production |
LOG_LEVEL | 日志级别 | DEBUG, INFO, WARNING, ERROR |
APP_NAME | 项目名称 | RiceBall |
DATABASE_URL | PostgreSQL 数据库连接字符串 | postgresql+asyncpg://user:pass@host:5432/db |
SECRET_KEY | 用于加密和 JWT 的密钥 | 生产环境请务必修改! |
EXTERNAL_URL | 后端 API 的外部访问 URL | http://localhost:8000 |
FRONTEND_URL | 前端访问 URL | http://localhost:3000 |
邮件设置
用于发送验证邮件和通知。
| 变量名 | 描述 |
|---|---|
MAIL_SERVER | SMTP 服务器地址 (如 smtp.gmail.com) |
MAIL_PORT | SMTP 端口 (如 587) |
MAIL_USERNAME | SMTP 用户名 |
MAIL_PASSWORD | SMTP 密码 |
MAIL_FROM | 发件人邮箱地址 |
MAIL_STARTTLS | 是否启用 STARTTLS (true/false) |
MAIL_SSL_TLS | 是否启用 SSL/TLS (true/false) |
文件存储 (S3 兼容)
RiceBall 使用 S3 兼容存储(如 MinIO 或 AWS S3)来存储文件。
| 变量名 | 描述 |
|---|---|
S3_ENDPOINT_URL | S3 API 端点 URL |
S3_ACCESS_KEY_ID | Access Key |
S3_SECRET_ACCESS_KEY | Secret Key |
S3_BUCKET_NAME | 用于存储文件的 Bucket 名称 |
S3_REGION | AWS 区域 (MinIO 可选) |
向量数据库 (ChromaDB)
用于 RAG 的向量数据库配置。
| 变量名 | 描述 | 默认值 |
|---|---|---|
CHROMA_SERVER_HOST | ChromaDB 服务器地址 | chromadb |
CHROMA_SERVER_PORT | ChromaDB 服务器端口 | 8000 |
前端配置
前端配置主要通过构建时环境变量或 Docker 环境变量进行设置。
| 变量名 | 描述 | 默认值 |
|---|---|---|
API_BASE_URL | 后端 API 的 URL (用于代理转发) | http://localhost:8000/api |
APP_NAME | 应用程序显示的名称 | RiceBall |
系统配置
系统级别的配置(如“允许注册”、“默认模型”等)存储在数据库中,可以通过 Web 界面中的 管理后台 (Admin Dashboard) 进行修改,无需重启服务。
