部署与安全
把 NoteFast 暴露到局域网或公网之前,需要了解的鉴权、CORS 与环境变量。
NoteFast 默认面向本机(127.0.0.1)运行。当你打算把它暴露到局域网或公网时,请先完成下面的鉴权配置。
鉴权模式
规则只有一条:只要设置了任意一个鉴权变量,服务器就要求认证;一个都不设,则以免鉴权本地模式运行(启动时会有警告)。
| 变量 | 作用 |
|---|---|
AUTH_PASSWORD | Web UI 登录密码 |
API_TOKEN | API / MCP 的 Bearer 令牌 |
READ_TOKEN / WRITE_TOKEN | 可选的读写分离令牌(替代单一 API_TOKEN) |
CORS
CORS_ORIGINS 是 Web UI 的跨域来源白名单,逗号分隔。
警告:
*会禁用来源限制。在免鉴权模式下,这意味着任意网页都能读写你的整个知识库——仅限本机/内网开发使用,公网部署绝不要这样组合。
常用环境变量
| 变量 | 说明 |
|---|---|
PORT | 服务端口(默认 3140) |
DATA_DIR | SQLite 与媒体文件的存储路径 |
AUTH_PASSWORD / API_TOKEN | Web 密码 / API 令牌(见上) |
READ_TOKEN / WRITE_TOKEN | 可选读写分离令牌 |
CORS_ORIGINS | 逗号分隔的来源白名单 |
AI 供应商不在环境变量里配置——运行时在 设置 → AI 中完成,共三个槽位:对话(chat)、向量(embedding)、重排序(reranker)。
反向代理
仓库附带 Caddyfile.example 与 docker-compose.https.yml,可作为 HTTPS 终结与反代的起点。基本原则:
- HTTPS 终结在代理层完成,NoteFast 本身只监听内网地址;
- 备份配置(
data/backup.config.json)包含密钥,请保持文件权限为0600; - 对外分享只读链接时优先使用文档分享的可过期链接,而不是直接开放整库。