概要
RSSでWebサイトの情報収集を行えるFreshRSSを、Dockerを使って実行しました。
そのときの方法について紹介します。
環境
- Docker version 20.10.23
- docker-compose version 1.25.0
- FreshRSS 1.20.2
FreshRSSについて
FreshRSSは、RSSを使ったWebサイトの情報収集ができるソフトウェアです。自前でサーバーを用意して利用するもので、無料で利用することができます。FeedlyやInoreaderなどのサービスがありますが、これらとは異なり、無料でできることに制限はありません。
私も、VPSを借りたサーバーにFreshRSSをインストールして使っています。
FreshRSSの開発はGitHubで行われており、コードを閲覧したり、プルリクエスト等で開発に協力することができます。また、寄付も受け付けています。
GitHub - FreshRSS/FreshRSS: A free, self-hostable aggregator…
FreshRSSを使い始めてから数ヶ月経ちますが、ちゃんと動いており、不満はありません。強いて上げるならば設定が分かりにくいということくらいです。
ここでは、FreshRSSをサーバーにインストールして使う方法を紹介します。
インストール
私は、FreshRSSの実行にDockerとDocker Composeを使っています。Dockerを使う理由はインストールがしやすいからです。また、今後もしも削除する場合にもアンインストールしやすいようにしています。
Docker Composeでの設定ファイルを次に載せました。Dockerのイメージは公式で配布されているものを利用しています。
version: "3"
services:
freshrss:
image: freshrss/freshrss:alpine
restart: unless-stopped
ports:
- 8080:80
volumes:
- data:/var/www/FreshRSS/data
- extensions:/var/www/FreshRSS/extensions
environment:
TZ: Asia/Tokyo
CRON_MIN: '*/15'
volumes:
data:
extensions:
environmentでは、タイムゾーンやRSSを取得しに行く間隔を指定しています。特にCRON_MINは取得の間隔ですので、お好みのものを設定してください。私は15分ごとに取得するように設定しています。
portsには8080番ポートを指定しています。これでサーバーの80番ポートで接続可能です。
さらに私の場合は、Nginxのリバースプロキシを利用してHTTPS接続ができるようにしています。
Nginxの設定は次です。server_nameやssl_certificateなどの設定は適当なものに置き換えてください。
server {
listen 443 ssl http2;
server_name freshrss.example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_read_timeout 90;
# Forward the Authorization header for the Google Reader API.
proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
}
}
server {
listen 80;
server_name freshrss.example.com;
return 301 https://$server_name$request_uri;
}
これで設定は終わりです。FreshRSSにアクセスできます。
FreshRSSでは、初期ユーザーとして、ユーザー名「freshrss」、パスワード「freshrss」が設定されています。この情報でログインした後は、セキュリティのためパスワードなどを変更して利用しましょう。
さいごに
RSSの確認をするときは、ブラウザからアクセスして行いますが、APIが公開されているため、対応さえしていればスマホアプリなどからもアクセス可能です。
実際に私は、Reader 5というiOSアプリを利用して、iPhoneからアクセスしています。
FreshRSSを使ってみたい人の参考になれば嬉しいです。