FreshRSSを使ってRSSリーダーを自己ホストする方法

FreshRSSは、Linuxサーバー向けのシンプルで簡単にデプロイできるウェブベースのRSSフィードリーダーです。Tiny Tiny RSSと同様に、ウェブブラウザからアクセスできるクリーンでクロスプラットフォームのインターフェースを提供します。
この記事では、UbuntuにFreshRSSをインストールする方法を示します。また、マルチユーザーセッション用にリーダーを設定する方法も強調します。
目次
- なぜFreshRSSなのか?
- FreshRSSのインストール
- リバースプロキシとSSLの設定
- FreshRSSへのアクセスと設定
なぜFreshRSSなのか?
FreshRSSの最大のセールスポイントの1つは、内蔵のウェブスクレイパーが付属していることです。これにより、RSSフィードをサポートしていないウェブサイトでも基本的なRSSフィードを作成できます。

FreshRSSは、現代のコンテンツプラットフォームでプッシュ通知もサポートしています。その結果、プラットフォームは投稿の更新に非常に迅速かつ反応的です。最後に、インストールも簡単で、自己ホスティングを始めたばかりの初心者にとって理想的なプロジェクトです。

FreshRSSのインストール
前提条件: この記事では、VPSインスタンスのIPアドレスとホスト名を指すAレコードとPTRレコードを持つ作業中のドメイン名があることを前提としています。
FreshRSSをインストールするためにDockerを使用します。
Dockerのインストール
プロジェクトのウェブサイトからDockerリポジトリの署名キーを取得します:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg
sudochmod a+r /etc/apt/keyrings/docker.gpgDocker用の新しいリポジトリファイルを作成します:
sudonano/etc/apt/sources.list.d/docker.list新しいリポジトリファイルに次の行を記述します:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stableシステムリポジトリを更新し、システムを更新してDockerバイナリをインストールします:
sudo apt update &&sudo apt upgrade
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginxFreshRSS Dockerコンテナの構築
ユーザーのホームディレクトリにFreshRSS用の新しいディレクトリを作成し、その中に入ります:
mkdir ~/freshrss &&cd ~/freshrssお気に入りのテキストエディタを使用して「docker-compose.yml」ファイルを作成します:
nano ./docker-compose.yml新しいdocker-composeファイルに次のコードブロックを貼り付けます:
---
version: "2.4"
volumes:
data: null
extensions: null
services:
freshrss:
image: freshrss/freshrss:latest
build:
context: https://github.com/FreshRSS/FreshRSS.git#latest
dockerfile: Docker/Dockerfile-Alpine
container_name: freshrss
hostname: freshrss
restart: unless-stopped
logging:
options:
max-size: 10m
volumes:
- data:/var/www/FreshRSS/data
- extensions:/var/www/FreshRSS/extensions
ports:
- "8080:80"
environment:
TZ: Asia/Manila # あなたのタイムゾーンに変更
CRON_MIN: 3,33docker-compose.ymlファイルを保存します。次のコマンドを実行してDockerコンテナをビルドします:
sudodocker compose up -dリバースプロキシとSSLの設定
FreshRSSインスタンスが起動したら、次にNginxを設定してリバースプロキシを作成し、ドメイン名を介して公開アクセスできるようにします。
まず、インスタンス用のNginxサイト設定ファイルを作成します:
sudonano/etc/nginx/sites-available/freshrss新しいサイト設定ファイルに次のコードブロックを貼り付けます:
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name freshrss.your-domain-name.here;
location /{
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
}
}新しいサイト設定ファイルを保存し、次のコマンドを実行して「/etc/nginx/sites-enabled」へのシンボリックリンクを作成します:
sudoln-s/etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/Nginxの設定をテストします:
sudo nginx -tすべてが正常であれば、Nginxサーバーデーモンをリロードし、システム起動時に有効にします:
sudo systemctl reload nginxインスタンスのSSLを有効にする
SSL証明書を取得するために、システムにコアスナップデーモンをインストールします:
sudo snap install coreスナップを使用して、電子フロンティア財団(EFF)のcertbotユーティリティを取得してインストールします:
sudo snap install certbot --classic次のコマンドを実行して、EFFにcertbotインストールを登録します:
sudo certbot register --agree-tos-m [email protected]次のコマンドを実行して、インスタンスのSSL証明書をリクエストします:
sudo certbot --nginx-d your-freshrss-domain-nameFreshRSSへのアクセスと設定
ウェブブラウザを開き、新しいFreshRSSインスタンスのアドレスに移動します。ページのドロップダウンリストをクリックし、FreshRSSを実行したい言語を選択してから「送信」をクリックします。

これにより、現在のインスタンスが正常に動作しているかどうかを確認するFreshRSSの自己テストモジュールが読み込まれます。続行するには、ページの下部までスクロールし、「次のステップに進む」をクリックします。

ドロップダウンリストをクリックし、「SQLite」を選択してから「送信」をクリックします。

インスタンスの管理者ユーザーの詳細を入力し、「送信」をクリックして作成します。

「インストールを完了」をクリックして、新しいFreshRSSインスタンスを正しく開始します。
ユーザー登録の有効化
まず、FreshRSS管理者アカウントにログインし、ページの右上隅にある歯車アイコンをクリックします。

「管理」カテゴリまでスクロールし、「システム設定」を選択します。
「ユーザー登録フォーム」サブカテゴリに移動し、「登録フォーム」の隣のドロップダウンボックスをクリックして、「有効: アカウントの制限なし」オプションを選択します。

ページの下部にある「送信」ボタンをクリックして、新しいサイト設定を保存します。
既存ユーザーのデータを消去
FreshRSS管理者アカウントに移動し、ページの右上隅にある歯車アイコンをクリックします。
「管理」カテゴリに移動し、「ユーザー管理」を選択します。
これにより、FreshRSSインスタンス内の現在のユーザーのリストが表示されます。無効にしたいユーザーの名前をクリックします。

「消去」ボタンをクリックして、ユーザーのRSSフィードを消去します。

自分自身のウェブベースのRSSフィードリーダーをホスティングすることは、オンラインでの個人データを管理する第一歩に過ぎません。Peertubeを使って自分の動画共有ウェブサイトをホストする方法を学びましょう。
画像クレジット: Yongma Seo via UnsplashとFreshRSS Github (ロゴ)。すべての変更とスクリーンショットはRamces Redによるものです。