自分のNostrリレーを運用する方法(2026年版)
安価なVPS上でNostrリレーを運用するための実践ガイド。使用するソフトウェア、設定方法、コスト、そして運用する理由を解説します。
Nostrリレーの運用は、難しくありません。ソフトウェアはオープンソースで、プロトコルはシンプルで、月額5ドルのVPSで使えるリレーを動かせます。セルフホスティングの経験があれば、午後の数時間でリレーを立ち上げられます。
ただし、本当に運用すべきかどうかは別の問題です。ほとんどのユーザーは自分専用のリレーを必要としません。特定のケースでは大きなメリットがあります。
このガイドは、試してみたい方向けのエンドツーエンドの解説です。
小さなVPSに strfry または nostream をインストールし、ドメインを向け、ポート443を開放します。Linuxに慣れている方なら約1時間で完了します。運用コストは月額5〜15ドル。特定のコミュニティ、プライバシーを重視するユーザー、そしてNostrインフラをより深くコントロールしたい方に有用です。
準備ができたら、 @nostr.blog アドレスを取得
運用する理由
正当な理由は6つあります。該当するものがなければ、公開リレーを利用してください。
コミュニティリレー。 特定のグループ(企業のNostr、趣味のコミュニティ、地域の集まりなど)向けのリレーが欲しい場合。リレーのポリシーをそのグループの規範に合わせられます。書き込みアクセスを管理しているため、外部のスパマーが大量投稿することもありません。
プライバシー。 セットアップの中に、オペレーターを把握しているリレーを少なくとも1つ持ちたい場合。そのリレーでの閲覧履歴が第三者に見られることがありません。
データ保持。 公開リレーは古いイベントを削除することがあります。自分のリレーなら投稿を無期限に保持できます。
実験。 クライアント、リレー拡張機能を開発したり、新しいNIPをテストしたりしている場合。開発には自分のリレーが不可欠です。
地域別パフォーマンス。 自分の地域に適切なリレーが存在しない場合。自分の地域でリレーを運用すれば、自分(そして場合によっては他のユーザー)により良い接続環境を提供できます。
理念。 ノードをホスティングすることでネットワークに貢献することに価値を置く場合。珍しいですが、実際にいます。Nostrの健全性は多くの独立したリレーに依存しているため、そのために運用するオペレーターが存在します。
リレーソフトウェアの選択
2026年4月時点の主要なオープンソースの選択肢は2つです。
strfry。 C++で書かれており、ストレージにLMDBを使用する非常に高速なソフトウェアです。控えめなハードウェアで大規模なイベント負荷(数百万件のイベント)を処理できます。パフォーマンス重視のリレーに最適な選択肢です。
nostream。 TypeScriptで書かれており、Node.jsで動作し、PostgreSQLを使用します。JavaScriptを知っていれば改造しやすく、カスタムポリシーやプラグインに適しています。
他にも選択肢があります(Rust製の rnostr、Go向けの khatru フレームワーク、各種フォークなど)。初めてのリレーには、strfryまたはnostreamが一般的なケースをカバーしており、どちらも十分にドキュメント化されアクティブにメンテナンスされています。
このガイドでは、具体的な手順としてstrfryを使用します。
ハードウェア要件
小規模リレー(数十〜数百人のユーザー)の場合:
- VPS: CPUコア数1〜2、RAM 1〜2 GB
- ストレージ: 保持期間によって10〜50 GB
- 帯域幅: 月間100〜500 GB
- コスト: Hetzner、DigitalOcean、Linodeなどで月額5〜15ドル
中規模リレー(数千人のユーザー)の場合:
- VPS: CPUコア数4、RAM 4〜8 GB
- ストレージ: 200 GB以上、理想的にはSSD
- 帯域幅: 月間1 TB以上
- コスト: 月額30〜80ドル
初めてリレーを運用するほとんどの方は月額5ドルのVPSから始めますが、これは100人程度のユーザーには十分以上です。
セットアップ手順:Ubuntu上のstrfry
基本的なデプロイのための具体的な手順です。新規インストールのUbuntu 22.04以降のVPSを前提としています。
ステップ1:サーバーの準備
# システムを更新する
sudo apt update && sudo apt upgrade -y
# ビルド依存関係をインストールする
sudo apt install -y git build-essential libssl-dev libz-dev \
liblmdb-dev libflatbuffers-dev libsecp256k1-dev \
libzstd-dev pkg-config
ステップ2:strfryのクローンとビルド
cd /opt
sudo git clone https://github.com/hoytech/strfry.git
cd strfry
sudo git submodule update --init
sudo make setup-golpe
sudo make -j4
小規模なVPSでのビルドには約5〜10分かかります。
ステップ3:リレーの設定
/opt/strfry/strfry.conf を編集します。重要なセクションは以下のとおりです:
dbパス:イベントが保存される場所networkバインドアドレスとポートinfoセクション:リレー名、説明、連絡先、公開鍵retentionポリシー:イベントの保持期間
基本的なセットアップではデフォルト設定で動作します。infoセクションをカスタマイズしてリレーの説明を記載してください。
ステップ4:サービスのセットアップ
strfryを永続的に実行するためのsystemdユニットを作成します。/etc/systemd/system/strfry.service:
[Unit]
Description=strfry Nostr relay
After=network.target
[Service]
ExecStart=/opt/strfry/strfry relay
WorkingDirectory=/opt/strfry
User=strfry
Restart=always
[Install]
WantedBy=multi-user.target
ユーザーを作成して有効化します:
sudo useradd -r -s /bin/false strfry
sudo chown -R strfry:strfry /opt/strfry
sudo systemctl enable --now strfry
ステップ5:TLSのセットアップ(リバースプロキシ)
Nostrクライアントは wss://(TLS経由のWebSocket)を期待します。strfryの前段にCaddyまたはNginxを使用してください。
Caddyが最も簡単です。インストール:
sudo apt install -y caddy
/etc/caddy/Caddyfile を設定します:
your-relay-domain.com {
reverse_proxy /* localhost:7777
}
リロード:sudo systemctl reload caddy。CaddyはLet's EncryptからTLS証明書を自動的に取得します。
ステップ6:DNSの設定
your-relay-domain.com のAレコードを作成し、VPSのIPアドレスに向けます。DNSが伝播するまで数分待ちます。
ステップ7:確認
自分のノートPCから:
curl -s https://your-relay-domain.com
リレーが稼働中であることを確認する短いレスポンスが返されるはずです。Nostrクライアントで wss://your-relay-domain.com をリレーリストに追加します。接続済みと表示され、イベントの受信が始まるはずです。
合計所要時間:Linuxに慣れている方で30〜60分、初めての方で2〜3時間。
リレーの運用
一度動き始めれば、リレーのメンテナンスはほとんど必要ありません。定期的なタスクは以下のとおりです:
ディスク使用量の監視。 strfryのデータベースは保持されたイベントとともに増大します。月次で確認し、必要に応じてプルーニングを行いましょう。
ソフトウェアの更新。 strfryはアップデートが提供されるので、重要な更新があれば再ビルドします。通常は年に数回程度です。
スパムパターンのログ確認。 大量のスパム攻撃を受けているリレーは、レート制限の調整やポリシーの強化が必要になる場合があります。
TLSの更新。 Caddyは自動的に行います。Nginxを手動で使用している場合は、certbotの自動更新を設定してください。
データベースのバックアップ。 小規模なリレーであれば、週次の別サーバーへのrsyncで十分です。重要なデータはより頻繁にバックアップしてください。
リレーが安定した後の合計作業時間:月間約30分程度。
決めるべきポリシー
リレーのルールはあなたが決めます。早めに決定してドキュメント化しましょう。
書き込みを許可するユーザー。 完全にオープン(署名済みイベントなら誰でも)?ホワイトリスト(特定のpubkeyのみ)?有料(イベントごとにsatフィー)?
受け付けるkind。 すべてのeventのkindを受け付けるか、特定のもののみ(kind:1のみ、リポストなし、リアクションなし)か?
レート制限。 pubkeyごとに1分間に何件のイベントを許可するか?strfryのデフォルト制限は妥当ですが、乱用が起きたら厳しくしてください。
保持期間。 イベントを永遠に保持するか、X日後にプルーニングするか?プルーニングはディスクを節約しますが履歴が失われます。
モデレーション。 特定のイベントや特定のpubkeyを手動で削除するか?あなたがアドミンなので、可能です。
ユーザーが期待することを把握できるよう、/(infoレスポンス)にポリシーを公開してください。不透明なリレーはユーザーにとって危険信号です。
実際のコスト
小規模な公開リレーの現実的な年間予算:
- VPS: 60〜180ドル
- ドメイン: 12〜15ドル
- 監視・バックアップツール(任意): 0〜60ドル
- あなたの時間: 年間5〜10時間
- 現金合計: 年間80〜250ドル
サブスクライバーのいる有料リレーであれば、収益でこれ以上をカバーできます。無料リレーの場合は、ネットワークへの(あるいは自分自身の利用のための)持ち出し貢献となります。
大規模運用
小規模なリレーは簡単です。数十万人のユーザー規模に成長するには、本格的な運用作業が必要になります。
考慮すべき点:
- データベースの最適化。 strfry/nostreamのデフォルト設定はある程度まで機能します。アクティブユーザーが約50万人を超えると、カスタムインデックスとチューニングが重要になります。
- 地理的分散。 1つの地域のリレーは、低レイテンシで世界中にサービスを提供できません。大規模リレーはクラスターを運用することが多いです。
- DDOS対策。 人気のあるリレーは攻撃を受けます。リレーの前段にCloudflareや他のDDOSサービスを配置することが一般的です。
- 大規模でのコスト。 1日に何百万回も読み取りが発生するリレーは、帯域幅とコンピューティングで月間数千ドルのコストがかかる場合があります。
このような規模で運用しているオペレーターはごく少数です。Damus-relay、nos.lol、relay.primal.netなど一握りが現在の大手です。小規模なリレーは競合する必要はなく、ネットワークはどちらからも恩恵を受けます。
運用しない方がよい理由
公開リレーのユーザーでいることを選ぶ正直な理由。
- 特定の理由がない。 理念のために運用するのは結構ですが、他に動機がないと続きません。
- システム管理の作業が好きではない。 リレーは複雑ではありませんが、Linuxの設定、ログ、TLSを時々触ることになります。
- すでに公開リレーを信頼している。 デフォルトで問題なく使えているなら、自分のリレーを追加しても余分な作業が増えるだけで明確なメリットはありません。
- 投稿も閲覧も少なく、必要性を感じない。 カジュアルなユーザーが自分のリレーを必要とするケースはほとんどありません。
Nostrコミュニティでは、自分のリレーを運用することへのプレッシャーはありません。アクティブなユーザーのほとんどは運用していません。ネットワークはすべてのユーザーがインフラに貢献することを必要としているのではなく、分散状態を保つのに十分な数があれば十分です。
運用開始後
告知しましょう。ユーザーがいないリレーはリレーではなく、単なるバックアップです。Nostr上で新しいリレーについて投稿し、ポリシーを説明し、ポリシーに合うユーザーを接続するよう招待してください。積極的に宣伝すれば最初の月に10〜50人のユーザーが集まることが期待できます。特定のコミュニティで知られているなら、さらに多くなるでしょう。
リレーを運用することはネットワークの健全性に貢献し、本当に自分のものであるインフラを手に入れることになります。適切なユーザーにとって、それはやりがいのあるプロジェクトです。
よくある質問
Nostrリレーの運用コストはどのくらいですか?
技術的な前提条件は何ですか?
自宅サーバーでリレーを運用できますか?
リレーがオフラインになっても大丈夫ですか?
Nostrリレーの運用でお金を稼げますか?
関連記事
Nostrリレーとは?わかりやすいガイド
リレーはNostrの投稿を保持し転送する小規模で独立したサーバーです。リレーが何をするのか、設計がなぜ珍しいのか、そしてどのリレーを選ぶかについて解説します。
約14分で読めます上級・技術有料Nostrリレー:お金で何が得られるのか
有料リレーはスパムのないフィード、より長い保持期間、より高いアップタイムを約束します。2026年に実際に提供されているもの、使う価値のあるもの、無料で十分な場合について。
約13分で読めますはじめにNostrプロトコルを分かりやすく説明
Nostrはプラットフォームではなくプロトコルです。この違いが、その仕組み、キャプチャされない理由、そして可能なことすべてを形作ります。
約13分で読めます