RSS 不能亡!自己架一台 RSS Reader 吧!「Miniflux」

Google 多年前宣佈關閉 Google Reader 這個超讚的閱讀器後,在這段時間也跑出好多類似服務的公司

我也試用了好幾個 RSS Reader 的服務,像是 FeedlyInoreader。。等等都有使用過一段時間

因為都是用免費版的經常換來換去也不舒服,而且各家除了會投放廣告以外也會有各種大大小小的限制(免費嘛)

其實哪一家提供的服務對我來說比較沒差,因為我平常在 macOS 與 iOS 上面都是使用 Reeder 為閱讀軟體

我主要是閱讀記錄可以同步,另外就是隨著使用 RSS 的時間越久,我訂閱的數量也隨之越多了

雖然我目前還沒有超過 Inoreader 免費版 150 個訂閱數的限制,但是也快到達極限了(目前 120 個左右)

所以就乾脆自己搭一個 RSS Reader 自用吧!

 

稍微搜一下網路上開源的 RSS Reader 還蠻多的,剛開始看 NewsBlur 不錯,後來看見討論 Tiny Tiny RSSMiniflux 也不少

剛開始時候找網路上的 Docker Image 來嘗試使用,然後反覆自己搭建完整環境也玩玩看~

最後選擇了 Miniflux v2 的版本來使用,原因是因為這套它使用 Go 語言編寫的,直接下載編譯好的執行檔就能跑,沒有其他依賴

安裝好作者指定的數據庫 Postgres,然後使用下載的編譯檔簡單準備一下數據庫就可以開始使用了!

整個部屬的過程跟使用 Docker 差不多,所以還蠻推薦使用的~

 

Miniflux 總體的優勢如下:

  • 針對「閱讀」做了優化,極簡的使用界面
  • 自動抓取圖片並快取,加速瀏覽
  • 內建全文抓取功能
  • 僅專注在 RSS 部分,無其他花俏功能
  • 支援多帳號使用,且內建 Fever API,與第三方 RSS Reader 完美搭配
  • 快速且高效!使用快捷鍵快速瀏覽你的未讀新聞
  • 注重隱私!無廣告、無用戶追蹤
  • 超級簡單的安裝方式,直接把執行檔放到伺服器上即可使用,沒有其他依賴,簡單高效
  • 免費且開源,自己安裝在自己伺服器上

 

下面來說一下我在 Raspberry Pi 樹莓派(Debian)上的安裝過程,我也簡單記錄一下

安裝以及準備數據庫

首先先更新一下系統內的源與軟體

$ sudo apt-get update && sudo apt-get upgrade -y

接下來我們安裝 Postgres 數據庫

$ sudo apt-get install postgresql

預先建議一個空白資料庫跟用戶密碼,後面要給 Miniflux 使用的

$ sudo -u postgres psql

建立一個使用者並輸入密碼

postgres=# createuser -P miniflux

建立一個屬於 miniflux 的資料庫

postgres=# createdb -O miniflux miniflux

資料庫擴展

postgres=# psql miniflux -c 'create extension hstore'

退出

postgres=# \q

 

下載安裝 Miniflux

根據你使用的平台不同,你會需要下載不同的版本

官方說明文件裡面有提到各個平台使用的版本,依照需求來下載即可

 

我是在樹莓派 3 安裝的,所以根據上表,我要下載「miniflux-linux-armv7」的版本

MiniFlux 官方下載的網頁在這邊: https://github.com/miniflux/miniflux/releases

 

下載並給予執行權限

$ wget https://github.com/miniflux/miniflux/releases/download/2.0.15/miniflux-linux-armv7

$ chmod +x miniflux-linux-armv7

設定整合數據庫(下面帳號密碼都是 miniflux,如果你有自己改過,請修改以下內容)

$ export DATABASE_URL=postgres://miniflux:miniflux@localhost/miniflux?sslmode=disable

$ miniflux-linux-armv7 -migrate

建立管理員帳號跟密碼

$ miniflux-linux-armv7 -create-admin

給予 Miniflux 執行檔綁定端口服務的權限

$ sudo setcap cap_net_bind_service=+ep miniflux-linux-armv7

建立一個執行的腳本

$ vim minifluxstart.sh

複製粘貼以下內容,並保存(下面帳號密碼都是 miniflux,如果你有自己改過,請修改以下內容)

#!/bin/sh

export DATABASE_URL="postgres://miniflux:[email protected]/miniflux?sslmode=disable"
export LISTEN_ADDR=0.0.0.0:80
export POLLING_FREQUENCY=30
./miniflux-linux-armv7

建立一個開機啓動服務

$ sudo vim /etc/systemd/system/miniflux.service

複製粘貼以下內容,並保存

[Unit]
Description=miniflux daemon

[Service]
Type=simple
WorkingDirectory=/home/pi/
ExecStart=/bin/bash /home/pi/minifluxstart.sh
Restart=always

[Install]
WantedBy=multi-user.target
啟用開機啓動
$ sudo systemctl enable miniflux.service
如上,如此就完成了,跟著上面複製粘貼就行了~

 

啟用 Fever API,搭配第三方新聞閱讀器

完成以上設定以後,我們可以回到電腦瀏覽器,打開安裝主機的 IP 地址,就能看見極致簡潔的登入畫面。。

任何多餘的元素都沒有,只有讓你輸入帳號密碼跟登入的按鈕而已

輸入在上述設定的帳號以及密碼以後,就能進到閱讀器頁面,進入後整個頁面也是極其簡約。。

 

我們先切換到「Feeds」的頁面,把你之前的訂閱 Import 進去,這個檔案可以去你使用的服務那邊 Export 出來

如果你才剛開始使用 RSS 的話,這步驟可以跳過

 

接下來我們到「Settings」裡面找到「Integrations」,就能看見 Fever 的欄位,把它勾選

Fever Username 跟 Password 我們可以自己設定帳號名稱跟密碼,保存之後即可

 

打開你習慣的 RSS 閱讀器,這邊以 Reeder 為例

在新增帳號那邊,有個「Self-hosted」的區域,找到「Fever」

Server 就填寫你伺服器的地址,地址後面記得加上 /fever/

設定完畢按下「Sign in」就大功告成啦!

4 個回應

  1. Eric表示:

    做到這一步: $ miniflux-linux-armv7 -migrate
    出現下面的訊息
    Current schema version: 0
    Latest schema version: 22
    Migrating to version: 1
    [FATAL] [Migrate] pq: password authentication failed for user “miniflux”

    請問該怎麼辦?

    • jkgtw表示:

      Hi Eric

      Postgres 資料庫 miniflux 使用者的密碼錯誤喔,請檢查一下前面步驟執行時候有沒有錯誤?

  2. Eric Hsieh表示:

    我再重頭試一次,做到同一步驟,出現下面的訊息:
    -bash: miniflux-linux-armv7: command not found

    • jkgtw表示:

      Hi Eric
      這個訊息是沒找到這個執行檔,你要確認有沒有下載並給予執行權限,然後下指令時候是在同個資料夾下?

發表迴響

%d 位部落客按了讚: