使用 Docker 搭建你自己的 RSS 服務(Miniflux)
本文使用「署名 4.0 國際 (CC BY 4.0)」許可協議,歡迎轉載、或重新修改使用,但需要註明來源。 署名 4.0 國際 (CC BY 4.0)
本文作者: 蘇洋
創建時間: 2019年01月22日 統計字數: 1985字 閱讀時間: 4分鐘閱讀 本文鏈接: https://soulteary.com/2019/01/22/build-your-own-rss-service-with-docker-miniflux.html
使用 Docker 搭建你自己的 RSS 服務(Miniflux)
在演算法推薦滿天飛的世界裡,定製獲取信息就顯得比較另類了,但是它可能是更高效的手段。
本篇是我之前提到的三種常規的 RSS 服務搭建方式的第三篇,Miniflux。
如果你有閱讀過我之前寫的文章,那麼參考本篇文章將文章搭建起來,應該只需要3分鐘或者更少,如果你沒有看過,那麼可以點擊本文相關的文章標籤,閱讀過往的文章。
關於 Miniflux
Miniflux 是一款基於 Go 編寫的 RSS 服務。相比前兩篇文章介紹的工具,它有以下特點:
- 程序設計極簡,不處理任何訂閱之外的事情。
- 程序無外部依賴,運行性能高。
- 支持自動抓取並緩存圖片,加速瀏覽。
- 有限支持自動將摘要替換為全文進行抓取。
- 支持多賬號登錄,支持 Fever API ,允許客戶端從外部登錄。
- 支持集成 PinBoard 、Instapaper、 Pocket、Wallabag、Nunux Keeper 等服務。
- 提供 Open API、書籤快速訂閱腳本。
- 維護者和社區相對活躍,更新頻率高。
但是它也有一些問題:
- 文檔不夠豐富,優化調試時,也需要翻代碼。
如果你想了解更多,可以訪問這裡,如果你只是想使用,那麼請繼續閱讀。
使用 Docker 和 Traefik 提供服務
官方代碼版本更新比較勤快,可以使用官方容器鏡像而無需二次封裝新的鏡像:miniflux/miniflux:2.0.14
。
下面是我提供的服務應用配置,定義了中文界面,RSS 資料緩存接近永久,應用升級版本時,自動升級併兼容新版本資料庫欄位。
version: 3
services:
miniflux:
image: miniflux/miniflux:2.0.14
restart: always
depends_on:
- db
expose:
- 8080
networks:
- traefik
environment:
- BASE_URL=rss.orange.lab.com
- ARCHIVE_READ_DAYS=36500
- CLEANUP_FREQUENCY=36500
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=soulteary
- ADMIN_PASSWORD=soulteary
- PROXY_IMAGES=all
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=Host:rss.lab.com"
- "traefik.frontend.entryPoints=http,https"
db:
image: postgres:10.1-alpine
restart: always
expose:
- 5432
networks:
- traefik
volumes:
- ./data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
networks:
traefik:
external: true
在使用 docker-compose up
將服務運行起來之後,我們打開瀏覽器,訪問:rss.lab.com
。
使用配置中定義的管理員賬號進行登錄之後,你就能夠擁有一個功能強大,界面友好的 RSS 訂閱服務了。
推薦先進行界面設置,下面是我的配置,僅供參考。