自分のサーバーでホストするRSSリーダーをTiny Tiny RSSで手に入れよう

Tiny Tiny Rssのインストール

Tiny Tiny RSSは、シンプルでありながら非常に柔軟なウェブベースのRSSリーダーで、自分のサーバーにインストールできます。これにより、RSSフィードの個人ライブラリを作成し、自動的に更新されるフィードをブラウザから直接読むことができます。

この記事では、UbuntuにTiny Tiny RSSをインストールする方法を紹介します。

目次

  • Dockerのインストール
  • Tiny Tiny RSSの取得と設定
  • Nginxを使用したリバースプロキシの設定
  • SSL証明書の生成
  • Tiny Tiny RSSインスタンスの使用

Dockerのインストール

始めるには、DockerとDocker Composeをインストールする必要があります。

  1. Dockerプロジェクトのウェブサイトからパッケージ署名キーを取得します:
sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. お好みのテキストエディタを使用して新しいパッケージリポジトリファイルを作成します:
sudo nano /etc/apt/sources.list.d/docker.list
  1. 新しいリポジトリファイルに以下を貼り付けます:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. パッケージリポジトリを更新し、Dockerとその関連アプリケーションをインストールできます:
sudo apt update  
sudo apt install git docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

Tiny Tiny RSSの取得と設定

  1. 開発者のGithubページからGitリポジトリを取得します:
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git  
cd ./ttrss-docker-compose
  1. Tiny Tiny RSSのメインプロダクションブランチに切り替えます。
git checkout static-dockerhub
  1. Gitリポジトリに付属のデフォルト環境ファイルのコピーを作成し、「.env」として再保存します:
cp ./.env-dist ./.env
  1. お好みのテキストエディタを使用して新しい環境ファイルを開きます:
nano ./.env
  1. 「#ADMIN_USER_PASS=」変数までスクロールし、その前のシャープ記号(#)を削除し、等号(=)の後に安全なパスワードを追加します。

Tiny Tiny RSS管理者のための安全なパスワードを示すターミナル。

注意: 新しいターミナルを開き、次のコマンドを実行して安全なパスワードを生成できます: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 16 | head -n 1

  1. 「#ADMIN_USER_ACCESS_LEVEL=」変数までスクロールし、その前のシャープ記号(#)を削除し、等号(=)の後に「10」を追加します。

管理者アカウントのデフォルトアクセスレベルを示すターミナル。

これにより、インスタンスを最初に起動したときに管理者アカウントに適切な権限が付与されます。

  1. 「TTRSS_SELF_URL_PATH=」変数までスクロールし、その値をTiny Tiny RSSインストールをホストしているドメイン名に置き換えます。

インスタンスの適切なFQDNパスを示すターミナル。

  1. ローカルの「.env」ファイルを保存し、DockerhubからTiny Tiny RSSのDockerイメージをプルします:
docker compose pull
  1. ローカルインスタンスのためにDocker Composeスイートをビルドできます:
docker compose up -d

ヒント: Dockerは、ウェブサービスを立ち上げるための手段以上のものです。Docker管理の基本を理解することで、コンテナをどのように使用できるかを学びましょう。

Nginxを使用したリバースプロキシの設定

この時点で、ポート8280で放送している動作中のTiny Tiny RSSコンテナがあります。ただし、これに外部からアクセスするには、ネットワーク外からの接続を処理するリバースプロキシを提供する必要があります。

  1. マシンにNginxをインストールします:
sudo apt install nginx
  1. リバースプロキシ用の新しいサイト設定ファイルを作成します:
sudo nano /etc/nginx/sites-available/ttrss
  1. 空のリバースプロキシ設定ファイルに以下のコードブロックを貼り付けます:
server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             ttrss.myvpsserver.top;  
  
    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://127.0.0.1:8280;  
}  
}
  1. 新しいリバースプロキシ設定ファイルのシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/ttrss /etc/nginx/sites-enabled/
  1. デフォルトのNginx設定ファイルを削除し、Nginxデーモンを有効にします:
sudo rm /etc/nginx/sites-enabled/default  
sudo systemctl enable --now nginx.service

SSL証明書の生成

リバースプロキシが実行されている状態で、次に行うべきことは、受信接続の暗号化を有効にすることです。

  1. SSLを有効にするには、マシンに動作中で最新のsnapデーモンがあることを確認する必要があります:
sudo snap install core  
sudo snap refresh core
  1. Certbotユーティリティをインストールします:
sudo snap install certbot --classic
  1. 次のコマンドを実行して、新しいcertbotインストールをEFFに登録します:
sudo certbot register --agree-tos --email [email protected]
  1. ドメインURLのSSL証明書をリクエストします:
sudo certbot --nginx -d ttrss.myvpsserver.top

Tiny Tiny RSSインスタンスのSSL証明書リクエストを示すターミナル。

知っておくと良いこと: OpenSSLを使用して独自の証明書を作成することで、信頼できない公共ネットワークでの暗号化の仕組みを学びましょう。

Tiny Tiny RSSインスタンスの使用

ドメインURLにアクセスすることで、新しいTiny Tiny RSSインスタンスにアクセスできます。

Tiny Tiny RSSのログインページを示すスクリーンショット。

「admin」と安全なパスワードでログインします。

入力された認証情報ボックスを示すスクリーンショット。

ページの右上隅にあるメニューアイコンをクリックします。

Tiny Tiny RSSのメニューボタンを強調表示するスクリーンショット。

これにより、インスタンスとその中のリストを管理できる小さなメニューが表示されます。「Feed actions:」カテゴリの下にある「フィードを購読…」オプションをクリックします。

購読したいフィードのRSSリンクを貼り付け、次に「購読」をクリックします。

Tiny Tiny RSSに追加するRSSフィードリンクを示すスクリーンショット。

Tiny Tiny RSSページを更新して、新しいRSSフィードのリストを反映させます。

RSSフィードの内容を示すスクリーンショット。

新しいフィードカテゴリの作成

RSSフィードを購読するだけでなく、Tiny Tiny RSSはインスタンス内の既存のフィードを整理する機能もサポートしています。これは、似たようなフィードを1つの一般的なカテゴリの下に整理したい場合に役立ちます。

  1. 新しいフィードカテゴリを作成するには、ページの右上隅にあるメニューボタンを押し、「設定…」をクリックします。

  2. ページの上部バーにある「フィード」をクリックします。

「設定...」オプションの下の「フィード」タブを強調表示するスクリーンショット。

  1. 「マイフィード」サブフレーム内の「カテゴリ」ドロップダウンボックスをクリックし、「カテゴリを追加」をクリックします。

既存のフィードの「カテゴリを追加」オプションを強調表示するスクリーンショット。

  1. 新しいフィードカテゴリの名前を入力し、「OK」を押します。

新しいカテゴリのプロンプトを示すスクリーンショット。

現在のRSSフィードの編集

新しいフィードカテゴリが作成されたので、既存のRSSリンクをすべてその下に含めることができます。これを行うには、設定メニューに戻り、「フィード」をクリックします。

インスタンスで現在利用可能なフィードのリストを示すスクリーンショット。

変更したいRSSフィードをクリックします。これにより、フィードのすべての利用可能なオプションをリストする小さなウィンドウが表示されます。

「カテゴリに配置:」ラベルの横にあるドロップダウンボックスをクリックし、新しいカテゴリを選択します。

既存のRSSフィードの詳細を示すスクリーンショット。

「保存」をクリックして新しい設定を保存し、「設定を終了」をクリックしてインスタンスのホームページに戻ります。

「フィード」サブメニュー内の「設定を終了」リンクを強調表示するスクリーンショット。

RSSリーダーを自己ホストすることは、デジタル主権を取り戻すための第一歩に過ぎません。Docker上でWordPressを展開して独自のコンテンツプラットフォームをホストしたり、Pleromaを使用して独自のTwitterクローンを作成したりする方法を学びましょう。

画像クレジット: 123RFの黒いノートパソコンのキーボード上のワイヤレスキー。すべての変更とスクリーンショットはRamces Redによるものです。