インストールメモ:Miniflux2

2022.1.25。自分用メモ。
2022.1.27 一部修正。

LAN 内の Raspberry Pi 2 の Ubuntu 20.04.3 LTS に、 フィードリーダ Miniflux (version 2.0.35) をインストールした時のメモ。
設定などはほとんどコピペで済ませつつ、試行錯誤もしつつ、一度 Miniflux が正常に起動するところまで設定し終えたが、 その後全部アンインストールして最初からやり直してみた。その 2度目 (以降) の手順をここにメモ。 ただし一度インストール・設定が終えているので、前回の設定などが残存している上に作業した部分はあるかもしれない。 そのへんあまり厳密な検証はしていない。 一応、PostgreSQL の DB やユーザ (Role) を一旦削除はした。

試行錯誤気味にコピペ主体で作業して、やっと動いたか、という状態のメモなので、内容の正確性についてはあまり保証できない。 さらに、以下の説明内での入力文字列もコピペではなく手打ちなので誤打が混じっている可能性もちょびっとある。
後日、さらに手を加える (改変する) 可能性あり…。

参照サイト


前提環境:

1. PostgreSQL をインストール

Ubuntu に PostgreSQL をインストールする。らくちん。

sudo apt install postgresql

起動。

sudo systemctl start postgresql

2. Miniflux をインストール

なお 2b. の方法を知る前に 2a. の方法でインストールしてしまった。

2a. パッケージを直接ダウンロードしてインストールするパターン

GitHub - miniflux/v2: Minimalist and opinionated feed reader ( https://github.com/miniflux/v2 )
→Latest ( https://github.com/miniflux/v2/releases/tag/2.0.35 )
から、miniflux_2.0.35_armhf.deb をダウンロードする。

(Raspberry Pi 2 は 32ビットコアなので debian (ubuntu) では arm64 ではなく armhf を選ぶ : 参考↓)

ダウンロードしたパッケージを使って Miniflux2 をインストール。

sudo apt install ./miniflux_2.0.35_armhf.deb

2b. Miniflux の PPA (Personal Package Archive) をレポジトリに追加してそっちからインストールするパターン

こうしとくと今後 apt で install / uninstall / update (upgrade) ができる。たぶん。

curl -s https://apt.miniflux.app/KEY.gpg | sudo apt-key add -
sudo echo "deb https://apt.miniflux.app/ /" > /etc/apt/sources.list.d/miniflux.list
sudo apt update
sudo apt install miniflux

3. PostgreSQL と Miniflux の設定

この説明内での各パラメータ。

Miniflux 用の DB 名miniflux2
同 ユーザ名 (Role 名)miniflux
同 パスワードminifluxpass
Miniflux の admin ユーザadmin
同 パスワードadminpass
Raspberry Pi 2 の IP アドレス192.168.0.10

(なお現在 DB のマイグレーション とはなんなのかが把握できていない…)

Miniflux の設定ファイルを作成する。
管理者権限 (root) で /etc/miniflux.conf を編集。 編集結果は以下。 (後日変更した内容に差し替え済 : 2022.1.27)

# See https://miniflux.app/docs/configuration.html

RUN_MIGRATIONS=1
DATABASE_URL=postgres://miniflux:minifluxpass@localhost/miniflux2?sslmode=disable
PORT=8080
BATCH_SIZE=10000
CLEANUP_ARCHIVE_READ_DAYS=-1
CLEANUP_ARCHIVE_UNREAD_DAYS=-1
POLLING_PARSING_ERROR_LIMIT=0
RUN_MIGRATIONS=1 初期状態で記述されていた項目。これより下は追記した部分。
DATABASE_URL= … DB へ接続するパラメータ。
なお「Configuration Parameters」によると、デフォルト値は
postgres://postgres:postgres@localhost/miniflux2?sslmode=disable
相当であるらしい。
PORT=8080 LAN 内の他マシンからアクセスできるようにするための設定。
この設定により、 LISTEN_ADDR (デフォルト値は 127.0.0.1:8080) が上書きされ 0.0.0.0:$PORT を設定したのと同等になる。
BATCH_SIZE=10000 更新インターバルごとに読み込み用キューに入れられるフィードの数。デフォルトは 100。 登録フィード (サイト) が多いので、思い切って増やしてみた。
CLEANUP_ARCHIVE_READ_DAYS=-1 既読になってから削除されるまでの日数。デフォルトは 60日。 -1 にすると削除されない。
CLEANUP_ARCHIVE_UNREAD_DAYS=-1 未読の状態から削除されるまでの日数。デフォルトは 180日。 -1 にすると削除されない。
POLLING_PARSING_ERROR_LIMIT=0 The maximum number of parsing errors that the program will try before stopping polling a feed. Once the limit is reached, the user must refresh the feed manually. Set to 0 for unlimited.
Default is 3.
(DeepL による翻訳: フィードのポーリングを停止するまでにプログラムが試行するパースエラーの最大数。上限に達すると、ユーザは手動でフィードを更新しなければなりません。無制限の場合は 0。デフォルトは 3。)

続いて PostgreSQL との接続周りの設定。
ここはちょっと違う書き方を何度か試してみたがうまくいかなかったので、ほぼコピペベース。

# ↓postgres ユーザで作業
sudo su postgres
# miniflux用のDBユーザ設定。この次にパスワード入力を求められるので、入力 (ここでは "minifluxpass")
createuser -P miniflux
# DB作成
createdb -O miniflux miniflux2
# hstore型拡張機能を読み込み設定
psql miniflux2 -c "CREATE EXTENSION hstore"
# まいぐれーしょん 一時的にSUPERUSERに設定してから作業する… (このへんいまいち把握できてない)
psql -c "ALTER USER miniflux WITH SUPERUSER"
export DATABASE_URL="postgres://miniflux:minifluxpass@localhost/miniflux2?sslmode=disable"
miniflux -migrate
psql -c "ALTER USER miniflux WITH NOSUPERUSER"
exit
# ↑postgres ユーザでの作業を終了
# ついでに miniflux の admin 作成
# ここで管理者ユーザ名とパスワード入力を求められるので、入力 (ここでは "admin" と "adminpass")
miniflux -create-admin

4. Miniflux の (再) 起動と表示周りの (最低限の) 設定

sudo systemctl restart miniflux

この後、 外部環境 (LAN 内の別 PC) からブラウザで http://192.168.0.10:8080/ にアクセスすると、 Miniflux のログイン画面が表示される。はず。
上記で設定したユーザ名とパスワード (ここでは "admin"、"adminpass") でログインし、 ページ上部のメニューの「Settings」から設定画面に入り、

に設定して、ページ最下の「Update」ボタンをクリックすると、各種表示が日本語に、時間基準が日本の標準時に切り替わる。
その他の設定は適宜行なうよろし。 (これ書いてる現状ではまだ他のところを触ってない)

なお、Miniflux の設定は、 Web 画面から変更する (できる) 項目と、 /etc/miniflux.conf に直接書き込まないと変更できない項目がある。
miniflux.conf を書き換えた場合は適宜 sudo systemctl restart miniflux などで再起動するよろし。


戻る