Folo 中文教程:把 RSS、播客和社交动态收进一个 AI 信息流
2026-09-25发表于
人工智能一、Folo 到底是什么
入门
RSS(一种网站主动推送新文章的通用格式,类似"订阅报纸")存在很多年了,问题是大多数阅读器界面老旧、只能看文字。Folo 想解决的就是这件事:把 RSS 做成一条现代信息流。
你可以把它理解成一个私人信箱。你告诉它"我关心哪些网站、哪些博主、哪些播客",之后这些来源的新内容会自动投递进来,按时间排好,不用你一个个去刷。
它同时提供三种使用方式:桌面客户端(Windows / macOS / Linux)、手机 App(iOS / Android)、以及网页版。数据在账号里同步,换设备不用重新订阅。
Folo 的官方托管服务在 app.folo.is,注册即可用。本文重点讲的是自己部署一套,适合在意数据归属、或者想给团队内部用的读者。
二、自己部署前,先想清楚一件事
入门
Folo 和普通自托管项目不太一样:它依赖云端账号服务来同步订阅和阅读状态。也就是说,即使你部署了服务端,客户端仍然需要连上一个 Folo 后端才能正常登录。
这意味着自托管主要面向两类人:
- 想搭建内部团队版,自己控制账号和数据存储
- 想基于它做二次开发,比如接入自己的 AI 模型或改界面
如果你只是想用 Folo 看资讯,直接用官方客户端就够了,不必折腾服务器。下面的内容针对前两类读者。
三、部署前置条件
入门
在动手之前,请先确认环境。缺任何一项都会在后面的步骤里报错。
- 一台能联网的 Linux 服务器,建议 2 核 4G 内存起步,因为要同时跑数据库、缓存和多个服务
- Docker 与 Docker Compose:Docker 是一种把软件打包成"集装箱"、随处可运行的工具,Compose 则是用来一次启动多个集装箱的清单文件
- Node.js 20 以上 + pnpm:项目主体是 TypeScript 写的,本地构建需要它
- 一个域名(可选但强烈建议):手机 App 登录时用 IP 地址会很不方便
如果服务器在国内,拉取 Docker 镜像可能较慢,建议提前配置镜像加速,否则第一步就会卡住。
四、用 Docker 快速跑起来
进阶 · 推荐细读
先把源码下载到服务器上:
git clone https://github.com/RSSNext/Folo.git
cd Folo
项目采用 monorepo(一个仓库里放多个子项目)结构,服务端代码集中在 apps/ 目录下。首次运行前需要装依赖:
corepack enable
pnpm install
接着准备环境变量文件。项目根目录通常会有示例文件,复制一份再改:
cp .env.example .env
打开 .env,至少需要关注这几项:
| 变量 | 作用 | 说明 |
|---|---|---|
DATABASE_URL |
数据库连接地址 | 指向 PostgreSQL 服务 |
REDIS_URL |
缓存连接地址 | 用于会话和队列 |
BETTER_AUTH_SECRET |
登录凭证签名密钥 | 随便填一串长随机字符 |
PORT |
服务监听端口 | 默认 2233 左右,冲突时改这里 |
改完后启动:
docker compose up -d
-d 表示后台运行。第一次启动会拉镜像和建表,耐心等几分钟,然后用下面的命令看日志确认没有报错:
docker compose logs -f
看到服务开始监听端口,就说明起来了。浏览器访问 http://你的服务器IP:端口 即可。
五、配置要点与常见坑
进阶 · 推荐细读
部署完之后,最容易出问题的不是代码,而是下面这几处配置。
端口冲突。如果服务器上已经跑了别的 Web 服务,2233 之类的默认端口很可能被占用。用 ss -tlnp 查看当前占用的端口,再回到 .env 里改。
数据持久化。数据库和上传的文件必须挂载到宿主机目录,否则容器一删数据就没了。Compose 文件里通常写成 volumes 段落,注意确认路径指向的是服务器的真实磁盘,而不是容器内部。
反向代理。反向代理(用一台服务器转发请求到内部服务,类似公司前台帮你转接电话)能让你的域名指向 Folo,并顺便解决 HTTPS 证书问题。Nginx 里大致这样写:
server {
listen 443 ssl;
server_name folo.example.com;
location / {
proxy_pass http://127.0.0.1:2233;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
客户端连不上。自建服务端时,客户端需要手动填写服务器地址。如果一直转圈,先确认手机和服务器在网络上能互通,再检查是否被防火墙拦了端口。
六、日常运维:升级与备份
深入 · 老手可选
跑起来只是开始,长期使用更考验运维习惯。
升级要分两步走。先拉取新代码,再重建容器:
git pull
docker compose pull
docker compose up -d --build
注意数据库结构在版本之间可能变化,升级前务必先备份,不要跳过。
备份的核心是两样东西:PostgreSQL 的数据目录(或定期导出的 SQL 文件),以及 .env 文件本身。前者丢了订阅记录就没了,后者丢了密钥就要重新配置。
docker compose exec db pg_dump -U postgres folo > backup_$(date +%F).sql
建议把这条命令写进定时任务,每天凌晨跑一次,并把文件同步到另一台机器。备份只有放在不同的地方才算备份。
如果这套服务是给团队用的,建议再配一个监控告警,至少能在服务挂掉时收到通知,而不是等同事来问"怎么打不开了"。
七、写在最后
Folo 的价值在于把分散的信息源收拢成一条流,而自托管的意义在于这条流归你自己管。对新手来说,先用官方客户端体验一周,确认它真的适合你的阅读习惯,再考虑自建也不迟。
服务器部署这件事,第一次总会遇到几个报错。把日志读一遍、把端口和路径核对一遍,绝大多数问题都能自己解决。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | RSSNext/Folo |
| 语言 | TypeScript |
| Star | 39,010 |
| Fork | 2,132 |
| 主页 | https://app.folo.is |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
141
72
1
1878
文章目录
评论