环境变量
服务端所有配置项的完整参考
环境变量
Mosaic 服务端通过环境变量进行配置。复制示例文件、编辑后,从 server-go/ 启动服务端:
cp server-go/.env.example server-go/.env
cd server-go && go run ./cmd/mosaic-server服务端从工作目录读取 .env;缺少必需变量时会拒绝启动。
必需
| 变量 | 说明 | 示例 |
|---|---|---|
DATABASE_URL | PostgreSQL 连接字符串(本地可加 ?sslmode=disable) | postgres://mosaic:mosaic@localhost:5432/mosaic |
JWT_SECRET | JWT 令牌签名密钥 | your-super-secret-jwt-key-change-in-production |
ADMIN_PASSWORD | 初始管理员账户密码。无默认值,必须设置 | change-me-in-production |
服务端
| 变量 | 默认值 | 说明 |
|---|---|---|
PORT | 8080 | HTTP 监听端口 |
ADMIN_USERNAME | admin | 初始管理员账户用户名 |
MIGRATIONS_DIR | ./migrations | 服务端读取 SQL 迁移的目录 |
ALLOWED_ORIGINS | (空) | 逗号分隔的 CORS 允许来源。为空时允许任意来源,仅限开发环境 |
存储
| 变量 | 默认值 | 说明 |
|---|---|---|
STORAGE_TYPE | local | 存储后端:local 或 r2 |
LOCAL_STORAGE_PATH | ./storage | 本地文件存储目录 |
FFMPEG_BINARY | ffmpeg | FFmpeg 二进制路径(用于视频处理) |
Cloudflare R2(当 STORAGE_TYPE=r2 时)
| 变量 | 说明 |
|---|---|
R2_ENDPOINT | R2 端点 URL |
R2_BUCKET | R2 存储桶名称 |
R2_ACCESS_KEY_ID | R2 访问密钥 ID |
R2_SECRET_ACCESS_KEY | R2 秘密访问密钥 |
AI
| 变量 | 默认值 | 说明 |
|---|---|---|
HTML2LLM_URL | https://html2llm.cyncyn.xyz | HTML 转 Markdown 的外部服务,用于 LLM 处理 |
Docker Compose
使用 Docker Compose 时,还需要为 PostgreSQL 服务设置 POSTGRES_PASSWORD;同时必须设置
JWT_SECRET 和 ADMIN_PASSWORD,否则 Compose 会拒绝启动:
将上述配置用于仓库的 server/docker-compose.yml。
该文件设置容器内数据库地址、等待 PostgreSQL 就绪并挂载持久化数据,
具体步骤见 服务端部署。