Repository navigation
Manual Deployment ZH
ituff edited this page Sep 24, 2026
·
1 revision
手动部署 CFRSS 大约需要十分钟。
你需要: 一个 Cloudflare 账号(免费版就够)、Node.js 18 或更高版本,以及 git。
不想碰命令行?README 顶部的 Deploy to Cloudflare 按钮会帮你做完下面所有事情。
git clone https://github.com/ituff/cfrss.git
cd cfrss
npm installnpx wrangler login会弹出浏览器窗口,授权后回到终端。
npx wrangler d1 create cfrss-db命令会输出一个 database_id,把它填进 wrangler.toml:
[[d1_databases]]
binding = "DB"
database_name = "cfrss-db"
database_id = "把这里换成你的 id"
migrations_dir = "migrations"关于不让 id 进版本库。 本仓库提交的是占位符,真实 id 在本地注入:把
D1_DATABASE_ID=<id>写进.dev.vars(该文件已被 gitignore),再执行bash scripts/set-d1-id.sh。仓库里的 pre-commit 钩子会拒绝提交真实 id。 只有你打算公开自己的 fork 时才需要这么做,否则直接改wrangler.toml就行。
npx wrangler secret put AUTH_TOKEN
npx wrangler secret put ENCRYPTION_KEY| 密钥 | 说明 |
|---|---|
AUTH_TOKEN |
你将来用来登录的密码。请选一个足够长且随机的字符串。 |
ENCRYPTION_KEY |
任意随机字符串,可以用 openssl rand -hex 32 生成。 |
ENCRYPTION_KEY 用来加密你之后保存的 API Key(LLM、GitHub、朗读)。
一旦更换,已保存的密钥就再也解不开,只能重新填一遍。选定之后请妥善保管。
npm run deploy这条命令按顺序做三件事:
- 用 esbuild 打包前端;
- 把 D1 迁移应用到线上数据库;
- 上传 Worker。
打开 wrangler 最后输出的网址,应该能看到登录界面。
| 现象 | 可能原因 |
|---|---|
| 页面能打开,但登录一直失败 | 输入的密码和 AUTH_TOKEN 不一致。 |
| 能登录,但列表空白、刷新报错 | 迁移没跑。用 npx wrangler d1 migrations list DB --remote 检查。 |
wrangler deploy 报数据库相关的错 |
wrangler.toml 里的 database_id 还是占位符。 |
在 wrangler.toml 里加一段路由,再部署一次:
routes = [
{ pattern = "rss.example.com", custom_domain = true }
]域名必须和 Worker 在同一个 Cloudflare 账号下。如果你对 *.workers.dev 的地址
没意见,把整个 routes 段删掉即可。
定时抓取已经在 wrangler.toml 里配好了:
[triggers]
crons = ["0 * * * *"]不需要额外操作。CRON_MAX_FEEDS 控制单次运行最多刷新几个订阅源(默认 10),
其余的在后续小时里按最旧优先轮转。