バグ報告 · 機能提案 · メールでお問い合わせ
microfeed へようこそ! これは Cloudflare 上でセルフホストできる軽量コンテンツ管理システム (CMS) です。 音声・動画・写真・ドキュメント・ブログ記事・外部 URL など、さまざまなコンテンツを Web/RSS/JSON 形式のフィードとして公開できます。 サーバーを自前で運用せずに CMS を持ちたいテック志向のユーザーに最適です。
microfeed は Listen Notes によって開発され、 Cloudflare の Pages、R2、 D1、Zero Trust の各サービス上で動作します。
質問・フィードバックはお気軽に support@microfeed.org までどうぞ!
1990 年代から Web の多くは「フィード」で動いてきました。 誰かがフィードにアイテムを投稿し、他の人(やボット)が購読して更新を受け取る――そんな流れです。
microfeed を使えば、Cloudflare 上に次のようなフィードを簡単にセルフホストできます:
- ポッドキャスト用音声フィード
- ブログ記事フィード
- Instagram ライクな画像フィード(例: llamacorn.listennotes.com)
- YouTube ライクな動画フィード
- リンクまとめ型の個人サイト(例: wenbin.org)
- 外部ニュース URL のキュレーションフィード
- 製品アップデート/プレス掲載まとめサイト(例: microfeed.org)
- GUI ダッシュボード+公開 JSON フィードを備えたヘッドレス CMS
- 販売用ドメイン一覧サイト
- 書籍まるごと公開サイト(例: The Art of War)
- 変更履歴サイト(例: changelog.listennotes.com)
- …などなど
Cloudflare の Pages・R2・D1・Zero Trust を組み合わせ、 ドメイン代だけでほぼ無料 の運用が可能です。
- Web: https://llamacorn.listennotes.com/
- RSS: https://llamacorn.listennotes.com/rss/
- JSON: https://llamacorn.listennotes.com/json/
ダッシュボードは直感的で、WordPress に慣れていればすぐ操作できます。
流れはざっくり次の 5 ステップです:
- microfeed リポジトリ を GitHub 上でフォーク
- Cloudflare の API トークン等を Secrets に登録
- 付属の GitHub Action で Cloudflare Pages へデプロイ
- Cloudflare ダッシュボードでカスタムドメイン等を設定
- 完了!すぐに公開を始められます
ドキュメント読むのが苦手でも極力簡単に導入できるようにしています。 将来的に Cloudflare が「Login with Cloudflare」OAuth を提供すれば、ほぼ 1 クリック導入も夢ではありません!
こちらをクリック するだけです。 コードを触る予定がなくても、フォーク&同期だけで OK。
フォークしたリポジトリの Settings → Secrets → Actions で以下 5 つを追加します:
| シークレット名 | 何を入れるか |
|---|---|
CLOUDFLARE_ACCOUNT_ID |
Cloudflare アカウント ID |
CLOUDFLARE_API_TOKEN |
Pages + D1 の「編集」権限付き API トークン |
R2_ACCESS_KEY_ID |
R2 の Access Key |
R2_SECRET_ACCESS_KEY |
R2 の Secret Key |
CLOUDFLARE_PROJECT_NAME |
my-site-com のようなプロジェクト名 |
(詳細な取得手順は元 README の画像を参照)
リポジトリの Actions → Deploy to Cloudflare Pages ワークフローを手動実行。
✓ 緑色になれば成功。${PROJECT_NAME}.pages.dev でサイトが見られます。
${PROJECT_NAME}.pages.dev/admin にアクセスし、チェックリストに従って初期設定。
Zero Trust で管理画面にログイン制限をかけることを推奨します。
ダッシュボードからアイテム追加・編集が行えます。
Settings → Custom code で HTML/CSS を直接編集し、自由にサイトの見た目をカスタマイズ可能です。
新機能やバグ修正が入ったら、フォークを GitHub で Sync → Deploy Workflow を再実行するだけ!
ポッドキャストや動画のダウンロード数を計測したい
Tracking URLs 機能で OP3 や Podtrac のような外部解析サービスを挟めます。 Settings → Tracking URLs から追加してください。
Cloudflare 依存はリスクでは?
Listen Notes チーム自身も長年 Cloudflare を利用しており、利便性と安定性を評価しています。 ただし将来的には他のサーバーレスプラットフォームもサポート予定です。
もし Cloudflare からサービス停止されたら?
D1 の SQLite と R2 のバケットを定期バックアップしておけば、他環境へ容易に移行できます。 独自ドメインを使うことで移行先の切替もスムーズです。
microfeed を使う理由は?
- 既に Cloudflare を使っている
- サーバー管理をしたくない
- 無料枠で運用したい
- 新しいツールを試したい
いずれかに当てはまるなら検討する価値ありです。
D1 / R2 からデータをバックアップする方法は?
microfeed は Cloudflare D1 と R2 にデータを保存します。 バックアップしたい場合は次の 2 つを取得すれば OK です。
- D1 の SQLite データベース
wrangler d1コマンドでダウンロードできます。 - R2 のメディアファイル S3 互換 API を利用してスクリプトで全オブジェクトを取得してください。
バグ報告や機能提案は Issue 作成 を、 プルリクエストも歓迎です!
前提: node / npm, yarn, wrangler
-
ルートに
.vars.tomlを作成し、Step 2 の 5 つのシークレットを記入# .vars.toml CLOUDFLARE_PROJECT_NAME = "your-project-org" CLOUDFLARE_ACCOUNT_ID = "account id" CLOUDFLARE_API_TOKEN = "api token" R2_ACCESS_KEY_ID = "access key" R2_SECRET_ACCESS_KEY = "secret key" R2_PUBLIC_BUCKET = "your-r2-bucket-name"
-
開発サーバー起動
yarn dev
→ http://127.0.0.1:8788/ でアクセスできます。
yarn dev は yarn dev:client(Webpack DevServer)と
yarn dev:edge(Wrangler)を並列実行します。
microfeed は AGPL-3.0 ライセンスで提供されています。
