Inkstone 是运行在 Cloudflare Workers 上的自托管 Markdown 笔记应用,支持全文搜索、双链、离线编辑、多设备同步、版本历史、MCP、公开分享,以及 WebDAV / S3 备份
数据库、附件和运行环境均由部署者自行掌控
🟢准备工作
需要:
• GitHub 账号
• Cloudflare 账号
• Fork 后的 Inkstone 仓库
项目地址
https://github.com/shuaiplus/inkstone
先点击 Fork,将仓库复制到自己的 GitHub 账号
🟢创建 Cloudflare Worker
进入:
Cloudflare Dashboard
→ Workers & Pages
→ Create application
→ Continue with GitHub
选择刚刚 Fork 的 Inkstone 仓库,构建设置填写:
Worker name:inkstone
Production branch:main
Root directory:/
Build command:npm run build
Deploy command:npm run deploy
Non-production branch builds:关闭
Build output directory:留空
Environment variables:暂时留空
不要把 Deploy command 改成裸的
npx wrangler deploy。项目会先构建,再通过生成的 dist/inkstone/wrangler.json 部署当前项目要求 Node
^24.15.0。若 Cloudflare 构建环境没有自动选择兼容版本,再添加:NODE_VERSION = 24.18.0
🟢R2 与 KV 模式
默认推荐 R2,用于保存附件:
Build command:npm run build
Deploy command:npm run deploy
如果明确要使用 Workers KV 保存附件,Deploy command 改成:
npm run deploy:kv
R2 与 KV 是两种附件存储模式,后期直接切换不会自动迁移已有附件
🟢首次打开
部署完成后打开 Cloudflare 生成的
workers.dev 地址,并立即注册第一个账号第一个注册账号会成为 owner,后续公开地址或配置自定义域名前,先确认 owner 已创建并能正常登录
首次访问会自动初始化 D1 数据表和版本迁移
🟢部署后检查
在 Worker 的 Bindings / Settings 中确认资源已创建并绑定:
D1:DB
R2:FILES
KV:OAUTH_KV
Durable Objects:SYNC_HUB、CREDENTIAL_VAULT
Workers AI:AI(可选)
Cron Triggers 应包含:
0 * * * *
15,45 * * * *
随后检查:
• 新建、编辑和搜索笔记
• 附件上传与下载
• 多设备同步
• JSON / ZIP 导出
• WebDAV 或 S3 备份
🟢自定义域名与 MCP
先在 Worker 中添加 Custom Domain,再在 Variables and Secrets 中设置:
PUBLIC_URL = https://notes.example.com
PUBLIC_URL 必须填写最终使用的规范 HTTPS 来源。MCP、OAuth 和分享链接应统一使用同一个域名,避免 issuer 或回调地址不一致🟢后续更新
同步 GitHub Fork 的
main 分支后,Cloudflare Workers Builds 会自动重新构建和部署更新前建议先执行一次导出或远程备份。数据库迁移可重复安全执行,但附件从 R2 切换到 KV 或反向切换不会自动搬迁
项目地址
https://github.com/shuaiplus/inkstone
在线体验
https://inkstone-demo.pages.dev/
#Cloudflare #Workers #Inkstone #Markdown #MCP #自建服务