轉(zhuǎn)自我的個人博客https://blognas.hwb0307.com。歡迎關(guān)注!
前言
關(guān)于RSS的介紹這里不再多說,請看我的另一篇博文:解決信息爆炸困擾的完美方案——RSS。
RSS訂閱器平臺有很多選擇,大家可以看這個文章:2022年10款最佳RSS閱讀器推薦(在線/軟件+免費(fèi)/付費(fèi))- 安卓、iOS, Windows, Mac, Linux等適用!。那為什么我還是覺得應(yīng)該有一個自己的RSS訂閱器平臺呢?我覺得有以下幾點理由:
- 基于Docker,自建難度低,遷移性好。
- 自建RSS訂閱器平臺足夠強(qiáng)大。有fiter功能等。
- 數(shù)據(jù)完全掌握在自己手中??赏ㄟ^duplicati備份。
- 無廣告,不擔(dān)心托管平臺倒閉。RSS閱讀器平臺經(jīng)常會由于盈利或政策原因關(guān)門。
- 沒有訂閱數(shù)上限或其它惡心的限制。完全免費(fèi)。
- 進(jìn)一步壓榨VPS。畢竟有這么多性能溢出!
下面我們搭建一個RSS平臺——Tiny Tiny RSS,即TTRSS。基于Fever API,TTRSS也可完美地適配手機(jī)端(IOS; 安卓應(yīng)該也是類似的)的閱讀。
搭建過程中主要參考咕咕:二十分鐘搭建一個屬于自己的RSS服務(wù)和一些官方文檔??傊苋菀装惭b。開始吧!
測試環(huán)境
用的騰訊云VPS:
uname -a # Linux VM-12-8-ubuntu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
docker --version # Docker version 20.10.5, build 55c4c88
docker-compose --version # docker-compose version 1.28.6, build 5db8d86f
準(zhǔn)備工作
# 工作目錄 按需修改
work=~/docker/tinytinyrss && mkdir -p $work && cd $work
# 防火墻開放端口 按需修改
sudo ufw allow 3894/tcp comment 'tinytinyrss' && sudo ufw reload
# 提前拉取鏡像,國內(nèi)下載速度也蠻快的
docker pull wangqiru/ttrss:latest
docker pull wangqiru/mercury-parser-api:latest
docker pull wangqiru/opencc-api-server:latest
docker pull postgres:13-alpine
配置yml
新建文件:
vim $work/docker-compose.yml
添加以下內(nèi)容:
version: "3"
services:
service.rss:
image: wangqiru/ttrss:latest
container_name: ttrss
ports:
- 3894:80 # 按需修改
environment:
- SELF_URL_PATH=https://rss.domain.com/ # 按需修改
- DB_PASS=ipbufQW8F2 # 按需修改。與下面的密碼對應(yīng)
volumes:
- ./feed-icons:/var/www/feed-icons/
networks:
- public_access
- service_only
- database_only
stdin_open: true
tty: true
restart: always
service.mercury:
image: wangqiru/mercury-parser-api:latest
container_name: mercury
networks:
- public_access
- service_only
restart: always
service.opencc:
image: wangqiru/opencc-api-server:latest
container_name: opencc
environment:
- NODE_ENV=production
networks:
- service_only
restart: always
database.postgres:
image: postgres:13-alpine
container_name: postgres
environment:
- POSTGRES_PASSWORD=ipbufQW8F2 # 按需修改。與上面的密碼對應(yīng)
volumes:
- ./db/:/var/lib/postgresql/data
networks:
- database_only
restart: always
networks:
public_access:
service_only:
internal: true
database_only:
internal: true
這里要說明的是,除了按需修改的部分,其它代碼大家盡量不要動它,免得在后面的設(shè)置中出錯。如果你是大神就當(dāng)我沒說吧!
上線服務(wù):
cd $work && docker-compose up -d
可以通過這個命令查看日志:
docker-compose logs -f
改變文件夾的權(quán)限。這一步一定要做,否則TTRSS無法成功啟用。
sudo chmod 777 $work/feed-icons
重啟應(yīng)用:
docker-compose restart
ddns-go & NPM
ddns-go或者域名托管后臺里添加域名:rss.domain.com
NPM無特殊設(shè)置。類似于:

初始化
默認(rèn)帳戶:
帳號:admin
密碼:password
第一次登陸進(jìn)行要先改一個密碼,用bitwarden生成強(qiáng)密碼:

在用戶這里,點admin:

填入一個新密碼:

更改新密碼后,重新用新密碼登陸。帳戶信息可用bitwarden保存。
設(shè)置
我們可以去偏好設(shè)置那里:

啟用外部API
這一部分的設(shè)置主要是為了讓外部終端(比如手機(jī)的Unread)可以訪問它。畢竟我們很有可能經(jīng)常在手機(jī)上看我們的RSS訂閱!

開啟Mercucy和opencc功能
開啟Mercucy是為了可以獲取全文;開啟opencc是為了中文的簡繁體轉(zhuǎn)換。記得點啟用選擇生效。這主要是電腦端的優(yōu)化吧,對手機(jī)閱讀端而言沒有太多影響。

啟用Fever API
可以用bitwarden生成一個密碼并填入Set Password前面的空格中,記得點擊Set Password保存。這個密碼主要是在手機(jī)客戶端通過Fever API訂閱時需要用。你也可以設(shè)置得簡單點。不過,如果你手機(jī)上有bitwarden的話,密碼再長也無所謂,因為你不需要記住它!

設(shè)置訂閱源插件
我們的docker-compose安裝過程中已經(jīng)內(nèi)置了Mercucy和opencc兩個應(yīng)用。由于之前在偏好設(shè)置中啟用了Mercucy和opencc功能,所以這里我們要指定它們的應(yīng)用API。
- Mercucy:

- opencc

TTRSS的設(shè)置和一般軟件設(shè)置的布局不太一樣,剛開始操作時可能令人摸不著頭腦。大家多多探索一下,應(yīng)該問題不大!
添加分類和信息源
這個就比較簡單了,自己摸索一下吧。主要有2個入口,這里直接貼圖。
主頁的入口:

偏好設(shè)置中的入口:

不懂的話評論區(qū)留言。
其它
這里主要分享一些我覺得比較實用的設(shè)置。
不展開文章
有些訂閱源的正文很長很長,如果你設(shè)置了始終展開文章,閱讀體驗很差。

換主題
如果不喜歡默認(rèn)皮膚,還可以換主題。這個利好顏控!
比如,我將主題改成feedly-cozy:

實際效果如下:

看某篇文章時的效果如下:

感覺棒棒噠!其它主題就沒試過了。我比較隨意,并不在意這些花里胡哨的東西。
快捷鍵
像大多數(shù)RSS閱讀器一樣,TTRSS也有快捷鍵:

我覺得比較實用的快捷鍵就2個:
-
a+q:將展開的文章折疊 -
f+q:將某個分類的文章全部標(biāo)記為已讀(這個真的好用?。?/li>
IOS客戶端Unread
如果手機(jī)不能很好地閱讀自己的RSS,顯然RSS是沒有靈魂的。這里通過Unread,基于Fever的API實現(xiàn)服務(wù)端的TTRSS調(diào)用。只要是支持Fever API的RSS閱讀器都行,這個你自己選吧!我只說Unread,是因為國服的App Store只有這個Unread比較好用。其它的RSS閱讀器基本都不支持Fever API。我覺得Unread不是專為國人設(shè)計的,也不支持中文,有點不太滿意。大家湊合著用吧!有用過其它的比較好的RSS閱讀器,小伙伴們也可以評論區(qū)留言推薦。
Unread的用法如下:
- 地址:
https://rss.domain.com/plugins/fever/(這里要注意沒有.local!) - 帳戶:admin
- 密碼:
啟用Fever時輸入的那個密碼。不是登陸密碼。
下面給個APP的截圖:

其實習(xí)慣了也還好。
小結(jié)
大家可以通過duplicati定期備份整個$work目錄。
同時,我注意到TTRSS還支持api_feedreader、api_newsplus,所以FeedReader和News+應(yīng)該也可以使用。大家可以試試看,好像要通過global configuration才可以調(diào)用。反正我有Unread還湊合,就不折騰了!大不了轉(zhuǎn)Reeder!
日志
- 2022-05-01:使用了幾天Unread,發(fā)現(xiàn)Unread對于個人博客同步的支持較差,常常爬不到內(nèi)容,也拉不到歷史內(nèi)容;TTRSS明明是可以爬取到的。暫無解決方案。
參考
- 知乎:RSS打造完美信息流
- Awesome TTRSS
- 咕咕:二十分鐘搭建一個屬于自己的RSS服務(wù)
- 自建rss服務(wù)并適配 IOS 移動端( TTRSS + Fever )
- 知乎:你必讀的 RSS 訂閱源有哪些?:這里有很多好回答。
本文使用 文章同步助手 同步