# ===== BookMate 部署环境变量模板 ===== # 复制为仓库根目录的 `.env` 后填写(.env 已被 gitignore,不会提交)。 # 这个文件同时服务两件事: # 1) docker compose 的 ${NEXT_PUBLIC_API_BASE} / ${NPM_NETWORK} 替换 # 2) backend 容器的 env_file(注入后端所有环境变量) # —— compose 替换变量 —— # 前端(浏览器端)调后端 API 的地址:改成你实际用的域名,必须是 https 且带 /api 后缀 #(NPM 里 location /api 反代到 backend) NEXT_PUBLIC_API_BASE=https://bookmate.example.com/api # 服务器上 nginx-proxy-manager 容器所在的 docker 网络名: # 在服务器执行 `docker network ls` 查看,通常是 npm_default 或 nginx-proxy-manager_default NPM_NETWORK=npm_default # —— 后端运行与存储(容器内路径,由 docker-compose 卷挂载,一般不用改)—— DATABASE_URL=sqlite+aiosqlite:////app/data/bookmate.db UPLOAD_DIR=/app/uploads DATA_DIR=/app/data API_HOST=0.0.0.0 API_PORT=8000 # 站点访问密码:部署必须设置!留空 = 任何人可访问 SITE_PASSWORD= # ===== 模型 Provider(至少配一个;也可启动后在网页「管理模型」里添加)===== DEEPSEEK_API_KEY= DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 DEEPSEEK_MODEL=deepseek-chat OPENAI_API_KEY= OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4o ANTHROPIC_API_KEY= ANTHROPIC_MODEL=claude-sonnet-4-20250514 OPENROUTER_API_KEY= OPENROUTER_MODEL=openrouter/auto # ===== 向量检索 & 重排(OpenAI 兼容 API,如硅基流动 / OpenRouter)===== # embedding_base_url: 支持 OpenAI 兼容 /embeddings 的端点前缀 EMBEDDING_BASE_URL=https://api.siliconflow.cn/v1 EMBEDDING_API_KEY= EMBEDDING_MODEL=BAAI/bge-m3 # rerank: 硅基流动使用 /v1/rerank,OpenAI 不提供;留空则跳过重排 RERANK_BASE_URL=https://api.siliconflow.cn/v1 RERANK_API_KEY= RERANK_MODEL=BAAI/bge-reranker-v2-m3 EMBEDDING_BATCH_SIZE=64