TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

Readdig 是 Apache-2.0 開源的 RSS 與 Podcast 閱讀器,以 Node、React、PostgreSQL、Redis 構成,PWA 可安裝、Docker Compose 可部署。本文從 repo 原始碼核對架構、PWA 證據、免費模式設計與社群整合能力,並標出文件無法回答的部分。
用 AI 摘要這篇文章:
Readdig 是一套以 Apache-2.0 授權開源的 RSS 訂閱與 Podcast 播放閱讀器,repo 放在 GitHub 的 readdig/readdig,可以用 Docker Compose 自架在一台自己掌控的伺服器上,把手裡散落在各種服務的訂閱源收回到同一個介面。它同時是一個 PWA(漸進式網頁應用),裝到手機或桌面後用起來接近原生效能;開發者自己也在 readdig.com 架了一個託管版本,提供註冊帳號與試用。這篇文章的範圍只到 repo 原始碼與官方網站能核對的設計事實,實際部署後的 feed 抓取成功率、穩定度與 UI 順暢度不在這次的核對範圍裡,會在文末明確標出來。

會挑 Readdig 來寫,是因為它的 repo 比 readdig.com 的行銷頁面講得多更多。readdig.com 首頁用一句標語帶過定位(「A PWA platform RSS reader and podcasts player」),再加一個註冊與試用入口;但要判斷這套閱讀器適不適合自架,真正有用的資訊在 GitHub。README、環境變數表、依賴清單、commits 紀錄相當完整,最新版本推進到 v1.3.16(2026 年 6 月 25 日),327 顆 star、19 個 fork,一週內可以連著推 16 個版本。判斷自架可行性真正需要的資訊都在 GitHub,下面把 repo 能直接核對的事一層層拆開來講。

先把它跟同類工具擺在一起看。RSS 閱讀器這個品類已經有 不少 AI 聚合型的新選擇,也有像 FeedCraft 這種夾在 reader 與 source 之間的 RSS 中介層。Readdig 走的不是聚合或中介路線,而是傳統的「自架一個閱讀器」這個位置:你自己架服務、自己管訂閱清單、自己掌握歷史資料。
README 開頭給的定位只有一句:「Readdig is an RSS and Podcast reader application」。這句話本身沒什麼資訊量,但對照環境變數表與依賴清單,能看出它想做的事情比字面上大。具體來說,repo 顯示它整合了四個方向的能力:RSS 訂閱、Podcast 播放、社群討論串聚合(這點稍後會講到 V2EX 與 Hacker News),以及一個給多租戶情境預留的 Paddle 付費接口。
授權部分值得獨立確認一次,因為「開源」兩個字本身沒有標明具體授權。直接查 repo 的 license 欄位與 app/package.json,兩邊都寫的是 Apache-2.0。Apache-2.0 是相對寬鬆的授權,允許商業使用、修改、散布、甚至做成付費產品,附帶專利授權條款。對個人自架沒有任何限制,對想把 Readdig 包成服務給客戶用的人也保留了空間。
Readdig 的 README 把架構拆成四個元件,這個拆法直接決定了你部署時要準備哪些服務、VM 規格要抓多少。
API 層是 Node.js,用 Express 框架,README 要求 Node 18.20.8 以上。前端是 React 17,用 Create React App(CRA 5)打包,這在 app/package.json 的 react-scripts 依賴裡可以核對。資料庫是 PostgreSQL 12 以上,快取與任務佇列都丟給 Redis 6 以上,佇列系統用的是基於 Redis 的 Bull。
整套服務的部署路徑是 Docker Compose。README 的 Docker Deployment 段寫得很清楚:不用自己 build image,直接拉 GitHub Container Registry(GHCR)上的預建映像,步驟大致是 clone repo 取得設定檔、複製 docker-compose.example.yml 改密碼與網域、選擇性掛上 Nginx 反向代理、docker compose up -d 把容器跑起來。完成後打 /health 這個 endpoint,回傳 {"status":"ok"} 就代表 API 服務正常啟動。
開發環境的路徑則分 API 與前端兩邊各跑一套:API 是 yarn install、複製 .env.example、yarn db:migrate、yarn dev(跑在 port 8000);前端是 yarn install、複製 .env.example、yarn start(跑在 port 3000)。生產部署走 GHCR 映像會比本機 build 乾淨,這也是 README 推薦的路徑。
需要先準備好的外部服務只有三個:PostgreSQL、Redis、一台能跑 Docker 的機器。如果你想把它跟其他 區域網路自架服務 放在同一台 VM 上,要注意的是 PostgreSQL 與 Redis 都會佔記憶體,加上 Node API 本身,建議 VM 規格至少抓 2GB RAM 起跳, feed 量大或訂閱源多時再往上加。
Readdig 的 README 全文沒有出現「PWA」這個詞,這也是一開始讓人猶豫的地方:它到底算不算 PWA?要確認這個說法成不成立,得直接進 app/package.json 看依賴。
答案在 dependencies 裡。Readdig 的前端一共引入了 12 個 Workbox v6 系列套件,包括 workbox-precaching(資源預快取)、workbox-routing(請求路由)、workbox-strategies(快取策略)、workbox-background-sync(背景同步)、workbox-navigation-preload(導覽預載)、workbox-expiration(快取過期)等等,另外還有一個 @3m1/service-worker-updater 負責 service worker 更新通知。Workbox 是 Google 維護的 PWA service worker 標準庫,整套掛上去等於把離線快取、背景同步、資源預載這套 PWA 能力整個裝起來。
所以 PWA 這個說法是成立的,而且 readdig.com 的首頁標語也直接寫了「A PWA platform RSS reader」,官方定位與程式碼依賴兩邊對得起來。實際帶來的效果是:讀者可以把 Readdig 安裝到桌面或手機主畫面,用起來像原生 app,不再是瀏覽器分頁那種隔層感;已經造訪過的文章會被 service worker 快取,斷網時還能讀。對 RSS 閱讀器這種「通勤時想翻一下已下載文章」的場景,PWA 的離線能力是有實際意義的。
Readdig 的商業模式設計值得單獨看清楚,因為它的環境變數表裡同時出現了 FREE_MODE 與 Paddle 兩個東西,容易讓人誤會它是半商業化的 SaaS。
README 的環境變數說明把 FREE_MODE 描述為「enabled by default, set to false to enable paid plans」。也就是說,你把 Readdig 架起來之後,預設就是完全免費、所有功能開放;只有在你主動把 FREE_MODE 設成 false 時,Paddle 付費整合才會啟用,開始接收訂閱付款。Paddle 的設定是另一組獨立的環境變數(PADDLE_PUBLIC_KEY、PADDLE_API_URL、PADDLE_VENDOR_ID、PADDLE_VENDOR_AUTH_CODE),不填就不會啟動。
這個設計的實際意義是:你自己架的實例完全免費、沒有功能閹割,Paddle 那條路是留給想把 Readdig 架成多租戶服務、收費提供給別人使用的人。值得注意的是,開發者自己在 readdig.com 經營的託管版本首頁放了「START TRIAL」按鈕,連到 /signup 註冊頁,這暗示官方託管站可能就是把 FREE_MODE 關掉、改走 Paddle 收費的那個部署。不過託管方案的具體定價、試用時長、方案差異,readdig.com 上並沒有公開揭露,要註冊進去才看得到,本文沒有實際註冊驗證這一層。
把自架與託管兩條路擺在一起看:自架的人享受 Apache-2.0 授權下的完全免費與資料自主;想省事的人可以在 readdig.com 註冊試用開發者經營的託管版,但那是一個商業服務,條款與定價要自己進去確認。兩者跑的是同一套原始碼,差別只在誰管伺服器。
從環境變數表與近期的 commits 紀錄來看,Readdig 的訂閱能力其實超過傳統 RSS。這是 README 的 Features 段沒有特別強調、但程式碼裡寫得很明白的一層。
環境變數表裡有一組 V2EX 相關設定:V2EX_TOKEN、V2EX_BASE_URL、V2EX_REPLIES_TTL(快取 TTL,預設 30 分鐘)。另一組是 Hacker News 相關:HN_BASE_URL、HN_COMMENTS_TTL。再翻 commits 紀錄,2026 年 6 月下旬有一連串 feat(linuxdo)、refactor(v2ex) 相關的提交,包括「support threaded replies by saving parentReplyId」「prioritize RSS for fetching replies, JSON as supplement」。
把這些拼起來看,Readdig 不只訂閱 RSS feed,還能把 V2EX、Hacker News、LinuxDo 這類社群平台的討論串抓進來,顯示在文章底下的回覆區。對習慣在這些社群追技術討論的讀者來說,這個能力是把「讀文章」與「看社群怎麼討論這篇文章」整合在同一個介面,而不是在 reader 與瀏覽器之間來回切換。
要留意的是,V2EX 的整合需要你自己申請 V2EX_TOKEN(V2EX 的 API token),沒有 token 這條路就不會啟用。Hacker News 的部分則是透過 Algolia 的搜尋 API 抓評論,不需要額外認證。這層社群聚合是 Readdig 跟一般 RSS reader 比較明顯的差異點,但它的實際抓取品質與穩定度需要實際跑一輪才有辦法判斷。
對已經在用其他閱讀器的人來說,搬家可行性往往比功能列表更重要。Readdig 的 Features 段明確列出 OPML import/export,也就是說你可以從 Feedly、Inoreader、Topfeed 或任何支援 OPML 的閱讀器把訂閱清單匯出,再匯入 Readdig。反向也能匯出,不會被綁死。
訂閱源的分類方式是資料夾加上標籤,文章的個人化標記則是「article starring」(文章收藏)與閱讀歷史。值得一提的是,有些介紹文章會把 starring 寫成「Bookmarks(書籤)」,概念上接近,但 repo 用詞是 starring,這裡照 repo 原文標出來避免混淆。整體的內容組織邏輯跟主流閱讀器差不多,沒有特別突出的分類創新,但該有的都有。
誠實講清楚 repo 看不到的部分,比列一大串功能更有用。下面這幾項是這篇文章沒辦法從原始碼層級確認的,需要你實際部署後才會知道。
feed 抓取的成功率與更新頻率是其一。README 沒有給出 feed 輪詢間隔的具體數字,Bull 佇列的排程邏輯要進 api/ 原始碼才看得到,這次沒有逐行讀。如果你訂閱的源很多、又包含一些不穩定的 feed,實際抓取品質只能部署後觀察。
UI 順暢度與互動設計是其二。readdig.com 首頁本身是這套軟體的託管實例,註冊帳號進去就能看到實際介面,但首頁沒有放任何產品截圖或功能展示,README 也沒有附介面截圖。React 17 加 CRA 5 的技術組合在 2026 年已經算偏舊(React 17 是 2020 年的版本),但這不代表介面不好用,只是技術選型相對保守。實際的閱讀體驗、Podcast 播放器操作、手機 PWA 的流暢度,都需要註冊或自架跑起來才知道。
郵件通知的實際行為也講不清楚。環境變數表有 EMAIL_BACKEND 與 EMAIL_SENDGRID_SECRET,表示它透過 SendGrid 寄信。但「什麼時候寄、寄哪些事件、能不能關掉」這些行為層的問題,README 沒有展開。有些介紹把它寫成「新內容郵件通知」,這個說法可能對、可能不完整,建議當成「有郵件寄送能力」來理解,具體觸發邏輯待確認。
資料安全與隱私同樣缺乏細節。README 有一段 Security Best Practices,列了七條建議:改資料庫預設密碼、用強隨機的 JWT secret、透過反向代理開 HTTPS、限制對外暴露的 port、保持映像與依賴更新、不要把 .env 提交進版本控制、設定資料庫自動備份。這些是部署端的自主管理建議,不是 Readdig 本身的內建安全機制。它沒有提到資料加密靜態儲存、使用者密碼雜湊方式、或 GDPR 相關的資料處理說明。
營運主體的部分也要先認清。Readdig 的 GitHub 帳號是 readdig,README 的 support 連結指向一個 Buy Me a Coffee 頁面(buymeacoffee.com/debugging),開發者代號是 debugging。沒有公司全稱、沒有聯絡地址、沒有正式的支援管道。這在開源專案裡很常見,但如果你打算把企業的訂閱源交給它,這個「一個人維護」的現實要先接受。
把 repo 能核對的事攤開之後,判斷的起點其實很具體。
如果你已經在用 Feedly 或 Inoreader 這類託管服務,而且沒有特別不滿,Readdig 對你的價值會落在「資料自主」與「想把 Podcast 與 RSS 收在同一個 app」這兩件事。它的 PWA 能安裝、OPML 能搬遷、Apache-2.0 授權寬鬆,搬過來的門檻不高;但你得自己扛 PostgreSQL、Redis、Docker 這套基礎設施的維護,也要接受一個人維護的專案在長期穩定保證上本來就比較弱。
如果你本來就在自架服務,手上已經有 Docker 環境與一台閒置的 VM,Readdig 是一個部署成本相對低的選項:拉 GHCR 映像、改 docker-compose、打 /health 確認就上線。它的社群聚合能力(V2EX、Hacker News)是跟其他自架閱讀器比較時的差異點,如果你本來就活躍在這些平台,把討論串跟文章收在一起會省下切換成本。
如果你要的是「裝了就能用、不用管伺服器」的託管型閱讀器,readdig.com 上其實已經有一個開發者自己經營的託管版,首頁提供註冊與試用入口。不過它的定價、方案差異、免費額度都沒有在首頁公開,得註冊進去才看得到;再加上營運主體是單一開發者而非公司,能不能長期依賴要自己衡量。託管版適合想先試水溫、確認介面順不順手再決定要不要自架的人;但如果你很在意資料放在別人伺服器上,自架 Apache-2.0 版本會是更穩的歸宿。
最後提醒一個實務動作:部署前先進 repo 把 docker-compose.example.yml、README 的環境變數表、app/package.json 這三份各自看一次,確認技術棧與你手上的環境相容。Readdig 的 repo 更新頻率很高(6 月一週內推了 16 個版本),部署時記得拉當下最新版,本文提到的 v1.3.16 可能已有調整。