<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>自部署 on U.U.UNIT</title>
    <link>https://uuunit.com/tags/%E8%87%AA%E9%83%A8%E7%BD%B2/</link>
    <description>Recent content in 自部署 on U.U.UNIT</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://uuunit.com/tags/%E8%87%AA%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>FlareMo 上手体验：不买服务器，一个免费 Cloudflare 账号就把笔记系统跑起来了</title>
      <link>https://uuunit.com/posts/flaremo-hands-on/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://uuunit.com/posts/flaremo-hands-on/</guid>
      <description>&lt;p&gt;写上一篇《自部署一个 Memos：FlareMo 上 Cloudflare Workers 全记录》时，重点全在踩坑和补丁上。这篇换个角度：FlareMo 到底是个什么东西、免费额度够不够用、日常用起来是什么体验、适合谁不适合谁。&lt;/p&gt;
&lt;h2 id=&#34;flaremo-是什么&#34;&gt;FlareMo 是什么&lt;/h2&gt;
&lt;p&gt;一句话：&lt;strong&gt;一个免费 Cloudflare 账号就能 24 小时跑在云端的个人笔记系统&lt;/strong&gt;，Memos 兼容，应用层 Better Auth 登录，数据存 D1（5GB 数据库）+ R2（10GB 对象存储），代码和前端跑在一个 Worker 上。&lt;/p&gt;
&lt;p&gt;传统自部署长这样：一台 VPS、一个 Postgres、一堆 Docker 容器、每周要维护的备份脚本，还有硬盘坏了数据全没的风险。FlareMo 想回答的问题是：能不能只用一个免费 Cloudflare 账号，不买服务器、不装数据库、不写备份脚本，就拥有一个 24 小时在线、数据不会丢、能绑自定义域名、还能被各种工具调用的笔记系统？&lt;/p&gt;
&lt;p&gt;答案是能。整套东西跑在一个 Worker 上，你没有一个&amp;quot;服务器&amp;quot;要照看，只有一份代码和一个免费账号。&lt;/p&gt;
&lt;h2 id=&#34;免费额度到底够不够用&#34;&gt;免费额度到底够不够用&lt;/h2&gt;
&lt;p&gt;很多人一听&amp;quot;免费&amp;quot;就觉得是玩具。实际上对个人笔记这种纯文本为主的场景，免费额度是溢出的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;D1 5GB&lt;/strong&gt;：一条笔记含标签时间戳索引开销算 2KB，能存约 250 万条，每天写 100 条能写 68 年&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R2 10GB&lt;/strong&gt;：约 5000-10000 张压缩图片，或者 80 小时语音备忘录；R2 出口流量不收费，分享图给别人不产生流量账单&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我的实际体感：写了大半年，数据库用量连零头都没到。免费额度不是&amp;quot;很快就会撞到的天花板&amp;quot;，而是&amp;quot;你大概率永远用不完&amp;quot;。&lt;/p&gt;
&lt;h2 id=&#34;为什么放-cloudflare-比放-nas-稳&#34;&gt;为什么放 Cloudflare 比放 NAS 稳&lt;/h2&gt;
&lt;p&gt;自部署还有一个常被低估的成本：&lt;strong&gt;数据的物理安全&lt;/strong&gt;。NAS 数据在自家硬盘上，硬盘会坏、电源会跳、家里可能漏水被盗。FlareMo 的数据在 Cloudflare 企业级基础设施上持久化，自带冗余，你不用买第二块硬盘、不用写定时备份、不用关心 SMART 报警。&lt;/p&gt;
&lt;p&gt;另外它天然附带了一堆自部署很难凑齐的东西：全球边缘节点、免费 HTTPS + 自定义域名（我绑了 memo.uuunit.com，证书自动续）、不用 frp / Tailscale / 公网 IP 打洞、零运维——没有系统补丁、没有数据库升级、没有进程看门狗。&lt;/p&gt;</description>
    </item>
    <item>
      <title>自部署一个 Memos：FlareMo 上 Cloudflare Workers 全记录</title>
      <link>https://uuunit.com/posts/flaremo-cloudflare-workers/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://uuunit.com/posts/flaremo-cloudflare-workers/</guid>
      <description>&lt;p&gt;一直在用 Memos 记碎片想法，但官方 Server 要自建 VPS，维护成本不低。直到发现 FlareMo——一个把 Memos 完整跑在 Cloudflare Workers 上的开源项目，D1 存数据、R2 存附件、Vectorize 做语义搜索、Workers AI 做嵌入，全部免费额度内。部署地址 memo.uuunit.com，iOS 用 MoeMemos 客户端无缝接入。这趟从部署到客户端跑通踩了六个坑，值得记录。&lt;/p&gt;
&lt;h2 id=&#34;坑一孤立仓库不能-pull只能-reset&#34;&gt;坑一：孤立仓库不能 pull，只能 reset&lt;/h2&gt;
&lt;p&gt;仓库是从 GitHub 上拿到的快照，本地只有一个根提交，和上游没有共同祖先。这意味着 &lt;code&gt;git pull&lt;/code&gt; / &lt;code&gt;git merge&lt;/code&gt; 必然冲突，升级的正确姿势是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git branch backup-v0.6-snapshot   &lt;span class=&#34;c1&#34;&gt;# 旧版快照分支&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git fetch origin --tags
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git reset --hard v0.14.0          &lt;span class=&#34;c1&#34;&gt;# 目标 release tag&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但 reset 会把 &lt;code&gt;wrangler.jsonc&lt;/code&gt; 一并覆盖——本地真实 D1 ID（&lt;code&gt;da6ec409-...&lt;/code&gt;）和 &lt;code&gt;FLAREMO_PUBLIC_URL&lt;/code&gt; 全丢。所以升级前先备份本地敏感文件，reset 后重新应用数据库 ID 和公网地址，再 commit 一次防止下次更新再丢。&lt;/p&gt;
&lt;h2 id=&#34;坑二vectorize-索引不会自动创建&#34;&gt;坑二：Vectorize 索引不会自动创建&lt;/h2&gt;
&lt;p&gt;新版引入了语义搜索，上游 &lt;code&gt;wrangler.jsonc&lt;/code&gt; 里声明了 Vectorize binding，但&lt;strong&gt;不会自动建索引&lt;/strong&gt;——不手动创建，部署直接失败：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; CLOUDFLARE_API_TOKEN CF_API_TOKEN  &lt;span class=&#34;c1&#34;&gt;# 必须 unset，否则走 API token 模式不是 OAuth&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx wrangler vectorize create flaremo-memos --dimensions&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1024&lt;/span&gt; --metric&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;cosine
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx wrangler vectorize create flaremo-memories --dimensions&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1024&lt;/span&gt; --metric&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;cosine
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;维度必须和嵌入模型匹配（默认 qwen3-embedding-0.6b = 1024 维 cosine）。还有一个隐藏雷：Vectorize V2 的 &lt;code&gt;returnMetadata&lt;/code&gt; 参数要求字符串枚举 &lt;code&gt;&amp;quot;all&amp;quot; | &amp;quot;indexed&amp;quot; | &amp;quot;none&amp;quot;&lt;/code&gt;，上游代码传的是 V1 的布尔 &lt;code&gt;false&lt;/code&gt;，语义搜索直接 500 Internal server error，要手动改成 &lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
