FlareMo 上手体验:不买服务器,一个免费 Cloudflare 账号就把笔记系统跑起来了

写上一篇《自部署一个 Memos:FlareMo 上 Cloudflare Workers 全记录》时,重点全在踩坑和补丁上。这篇换个角度:FlareMo 到底是个什么东西、免费额度够不够用、日常用起来是什么体验、适合谁不适合谁。 FlareMo 是什么 一句话:一个免费 Cloudflare 账号就能 24 小时跑在云端的个人笔记系统,Memos 兼容,应用层 Better Auth 登录,数据存 D1(5GB 数据库)+ R2(10GB 对象存储),代码和前端跑在一个 Worker 上。 传统自部署长这样:一台 VPS、一个 Postgres、一堆 Docker 容器、每周要维护的备份脚本,还有硬盘坏了数据全没的风险。FlareMo 想回答的问题是:能不能只用一个免费 Cloudflare 账号,不买服务器、不装数据库、不写备份脚本,就拥有一个 24 小时在线、数据不会丢、能绑自定义域名、还能被各种工具调用的笔记系统? 答案是能。整套东西跑在一个 Worker 上,你没有一个"服务器"要照看,只有一份代码和一个免费账号。 免费额度到底够不够用 很多人一听"免费"就觉得是玩具。实际上对个人笔记这种纯文本为主的场景,免费额度是溢出的: D1 5GB:一条笔记含标签时间戳索引开销算 2KB,能存约 250 万条,每天写 100 条能写 68 年 R2 10GB:约 5000-10000 张压缩图片,或者 80 小时语音备忘录;R2 出口流量不收费,分享图给别人不产生流量账单 我的实际体感:写了大半年,数据库用量连零头都没到。免费额度不是"很快就会撞到的天花板",而是"你大概率永远用不完"。 为什么放 Cloudflare 比放 NAS 稳 自部署还有一个常被低估的成本:数据的物理安全。NAS 数据在自家硬盘上,硬盘会坏、电源会跳、家里可能漏水被盗。FlareMo 的数据在 Cloudflare 企业级基础设施上持久化,自带冗余,你不用买第二块硬盘、不用写定时备份、不用关心 SMART 报警。 另外它天然附带了一堆自部署很难凑齐的东西:全球边缘节点、免费 HTTPS + 自定义域名(我绑了 memo.uuunit.com,证书自动续)、不用 frp / Tailscale / 公网 IP 打洞、零运维——没有系统补丁、没有数据库升级、没有进程看门狗。 ...

2026-09-03 · 1 min · 192 words · camac

自部署一个 Memos:FlareMo 上 Cloudflare Workers 全记录

一直在用 Memos 记碎片想法,但官方 Server 要自建 VPS,维护成本不低。直到发现 FlareMo——一个把 Memos 完整跑在 Cloudflare Workers 上的开源项目,D1 存数据、R2 存附件、Vectorize 做语义搜索、Workers AI 做嵌入,全部免费额度内。部署地址 memo.uuunit.com,iOS 用 MoeMemos 客户端无缝接入。这趟从部署到客户端跑通踩了六个坑,值得记录。 坑一:孤立仓库不能 pull,只能 reset 仓库是从 GitHub 上拿到的快照,本地只有一个根提交,和上游没有共同祖先。这意味着 git pull / git merge 必然冲突,升级的正确姿势是: git branch backup-v0.6-snapshot # 旧版快照分支 git fetch origin --tags git reset --hard v0.14.0 # 目标 release tag 但 reset 会把 wrangler.jsonc 一并覆盖——本地真实 D1 ID(da6ec409-...)和 FLAREMO_PUBLIC_URL 全丢。所以升级前先备份本地敏感文件,reset 后重新应用数据库 ID 和公网地址,再 commit 一次防止下次更新再丢。 坑二:Vectorize 索引不会自动创建 新版引入了语义搜索,上游 wrangler.jsonc 里声明了 Vectorize binding,但不会自动建索引——不手动创建,部署直接失败: unset CLOUDFLARE_API_TOKEN CF_API_TOKEN # 必须 unset,否则走 API token 模式不是 OAuth npx wrangler vectorize create flaremo-memos --dimensions=1024 --metric=cosine npx wrangler vectorize create flaremo-memories --dimensions=1024 --metric=cosine 维度必须和嵌入模型匹配(默认 qwen3-embedding-0.6b = 1024 维 cosine)。还有一个隐藏雷:Vectorize V2 的 returnMetadata 参数要求字符串枚举 "all" | "indexed" | "none",上游代码传的是 V1 的布尔 false,语义搜索直接 500 Internal server error,要手动改成 "none"。 ...

2026-09-03 · 2 min · 277 words · camac