0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自分で回す発信と購読のスタック8本:Pelican、RSS.Beauty、listmonk、Glance、SearXNG ほか

0
Posted at

ブログを書いて公開し、フィードで届け、自分も他人の更新を読み、必要なら自宅のサービスを外から触る——この一連を、大手プラットフォームに預けずに自分で回したい、という話は今でもよく聞きます。最近まとめ直したノートの中から、そのループを一本ずつ埋めてくれる第三者のオープンソースや公開解説を 8 本拾いました。

どれも公式発表ではなく、公開されているリポジトリや記事を読んで残したメモです。各節の末尾に、もう少し詳しく書いた日本語ノート(redreamality.com)へのリンクを置いています。

1. Pelican:Python で静的サイトを書き出す

Pelican は Python 製の静的サイトジェネレータです。Markdown、reStructuredText、HTML で記事や固定ページを書き、Jinja2 のテーマで HTML に落とします。データベースもサーバサイドのコードも要らないので、出来上がったファイルを普通の Web サーバや静的ホスティングに置けば公開できます。時系列のブログ記事と独立した固定ページの両方、多言語記事、Atom/RSS の自動生成、Pygments によるコードハイライト、WordPress や既存 RSS からの取り込み、プラグインでの拡張、といった一通りが揃っています。ライセンスは AGPL-3.0 です。ノートを書いた時点の最新は 2026 年 4 月 20 日の 4.12.0 で、スターは約 1.33 万、依存しているプロジェクトもかなりあります。最近のコミットでは Python 3.11 以上、Sphinx 9.0 以上が要求されるようになっているので、古い環境のまま上げようとするとそこで止まります。

→ Pelican の機能と最近のメンテ状況

2. RSS.Beauty:生の XML フィードを人の読めるページにする

フィードの URL をブラウザで開くと、ただの XML が並んで「壊れている」ように見えることがあります。RSS.Beauty は XSLT を使って、RSS 2.0 と Atom 1.0 をモバイルでも読める画面に変換するオープンソースの道具です。主なフィードリーダーへのワンクリック購読ボタンも付きます。中身は Astro、TailwindCSS、XSLT で、Cloudflare Pages、Vercel、Netlify といったサーバレスに載せられるほか、Docker イメージ(例: ghcr.io/miantiao-me/rss.beauty:main、ポート 4321)でも回せます。ライセンスは LGPL-3.0 で、ノート時点の最新は 2025 年 12 月の v0.0.2、スターは 500 弱と小さめですが、「自分のサイトのフィードを人に見てもらえる形にする」一点に集中していて分かりやすいです。

→ RSS.Beauty でフィードを読みやすくするメモ

3. listmonk:メール購読と RSS を行き来させる

フィードリーダーを入れない読者には、メールの方が届きます。ここで拾ったのは listmonk 自体の公式ドキュメントではなく、草梅周報という週次メモの中で、著者が自分の listmonk 構築手順と、RSS とメールを双方向に変換する手順を更新した、という記録です。listmonk はセルフホストのニュースレター基盤として知られていて、購読フォームから読者を集め、サイトの RSS をメール配信に載せたり、逆にメールをフィード側へ戻したりできます。同じ週報では rss-impact-server v1.14.3 のリファクタやテスト修正にも触れていて、「発信の出口をメールと RSS の両方に開いておく」運用の具体例として読めます。listmonk の設定項目そのものの詳細は元記事側にあるので、ノートは入口として使うのがよさそうです。

→ listmonk と RSS・メール変換を扱った週報メモ

4. ALL-about-RSS:RSS 周辺の地図

道具というより地図です。GitHub の AboutRSS/ALL-about-RSS(スター約 5,900、ライセンスは CC-BY-4.0)は、Telegram チャンネル @AboutRSS の投稿を軸に、RSS 関連の仕様・ツール・サービス・コミュニティを並べたリストです。「Awesome リストではない」と自分で断っていて、動いていて保守されているものなら載せる、という方針です。仕様は RSS 0.90 から 2.0、Atom、JSON Feed、RSS 3.0、さらに Media RSS や Podcast Index などの拡張、変換や検証の道具まであります。読み手側はアプリ、ホスティング型、セルフホスト、メール、ターミナル、GitHub / Notion / Obsidian 連携まで分類され、作り手側は RSSHub や RSS-Bridge、各種 SNS からの生成、Kindle・メール・Telegram・Discord・Mastodon への転送が並びます。Apple News、Reuters、LinkedIn、Google Groups のようにフィードを止めたサービスも記録されているので、「このサイト、昔は RSS があったはず」と思ったときの確認にも使えます。

→ ALL-about-RSS を案内マップとして眺めたノート

5. Glance:フィードと日常の情報を一枚にまとめる

購読先が増えると、開く画面も増えます。Glance は YAML でページ・列・ウィジェットを書くセルフホストのダッシュボードで、RSS、Hacker News、subreddit、天気、YouTube、Twitch、市場価格、Docker コンテナの状態、サーバ統計などを一つの軽い画面に載せられます。依存が少なく、ネイティブの JavaScript も最小限で、20MB 未満の単一バイナリかマルチプラットフォームの Docker イメージで配られています。未キャッシュのページはだいたい 1 秒前後、という説明です。導入は Docker Compose のテンプレートが推奨されていて、Linux / Windows / macOS のバイナリや NixOS、Coolify 経由でも動かせます。よくあるハマりどころとして、ウィジェットのリクエストタイムアウトが Pi-hole や AdGuard Home の DNS レート制限に起因することが多い、と書かれています。データは読み込み時に取ってキャッシュするので、最新を見たければページを更新する前提です。

→ Glance のウィジェット構成とタイムアウトの注意

6. SearXNG:追跡されないメタ検索

外の情報を探す側も、自分で持てます。SearXNG は複数の検索サービスやデータベースの結果をまとめて返す、無料のメタ検索エンジンです。利用者を追跡したりプロファイルしたりしない、というのが売りです。リポジトリ searxng/searxng はスター約 3.79 万、フォーク約 3,500 と、セルフホスト勢の中ではかなり活発です。ノートは README 全体というより倉庫の俯瞰で、最近のコミットには Brave API の SafeSearch レベル対応の修正、コンテナ構築の再編、Video 結果タイプの追加、checker の削除、依存関係の更新などが並びます。ディレクトリは searx、client/simple、container、docs、tests などに分かれていて、Makefile や requirements-server.txt など運用寄りのファイルも根に置かれています。公開インスタンスを使う手もありますが、自分のスタックに入れるならソースを追える状態なのは安心材料です。

→ SearXNG リポジトリの見取り図

7. Cloudflare Tunnel:ポートを開けずに自宅サービスを外へ出す

自宅や研究室のマシンで Glance や SearXNG を回すのは簡単ですが、ルータのポートを開けずに外から届けるのが面倒です。拾ったのは少数派に掲載された解説で、Cloudflare Tunnel を使ってローカルのサービスを独自ドメインの HTTPS で公開する手順です。ローカルで動かす cloudflared が Cloudflare 側と通信し、向こうに来たリクエストを指定の内部 IP とポートへ転送します。ドメインの DNS を Cloudflare に預けてあることと、cloudflared を置くマシンがあることが前提です。Zero Trust の無料プランで Tunnel を作り、Docker でトークン付きのコンテナを起動し、サブドメインごとに転送先 URL を書く、という流れです。一つの Tunnel に複数のサブドメインを載せて、サービスごとに振り分けられます。Application 機能でメールアドレスや IP レンジによる追加認証も付けられます。サービス自体は無料ですが、記事によれば支払い方法の登録が求められます。一部の地域(元記事では中国国内)では速度が出にくく、接続が切れることもある、と正直に書かれているので、用途と場所を見て選ぶ必要があります。

→ Cloudflare Tunnel の無料公開手順と注意点

8. Local-first software:データを先に手元に置く、という考え方

最後は個別のツールではなく、上の道具たちが共有していそうな方針です。localfirstweb.dev は、ローカルファースト(データはまず自分のデバイスにあり、同期は二の次)のコミュニティページで、ツールの発見、イベント、講演の録画、関連記事がまとまっています。Peter van Hardenberg の原題トーク、Mycelial による入門、Martin Kleppmann の "CRDTs: the hard parts"、Richard Threlkeld の AWS re:Invent の話などが並び、会議の振り返りや「オフラインファーストと何が違うのか」を論じた文章も紹介されています。静的サイトやセルフホストのダッシュボードがすぐに CRDT 同期になるわけではありませんが、「自分の発信と購読のデータを、まず自分の機械の上に置く」という意味では、このスタックの延長線上にあります。

→ ローカルファーストの講演と記事を集めたページのメモ

おわりに

並べると、書く(Pelican)→ 公開したフィードを人に読める形にする(RSS.Beauty)→ メールでも届ける(listmonk)→ 仕様と周辺ツールを地図で把握する(ALL-about-RSS)→ 購読先を一枚で見る(Glance)→ 探す(SearXNG)→ 自宅のサービスをトンネル経由で外に出す(Cloudflare Tunnel)→ データを手元に置く考え方(local-first)という一本のループになります。ここに挙げたのはいずれも第三者の OSS か公開記事で、リンク先はそれぞれ redreamality.com の日本語ノートです。同じ役割の道具は他にもあるので、入れ替えて使う前提のメモだと考えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?