DigitalOcean へのデプロイ
DigitalOcean Droplet または App Platform に nostrfy をデプロイ — systemd、TLS、本番対応の設定をステップバイステップで解説します。
2つの選択肢があります:Droplet(VM、最もシンプル)または App Platform(コンテナ)です。
オプション 1:Droplet(推奨)
- Droplet を作成:Ubuntu 24.04 LTS、サイズはどれでも可(開始時は 1 GB RAM で十分です)。ユーザーの近くにあるリージョンの Droplet はレイテンシを低減します。
- SSH で接続し、汎用の VPS ガイドに従います:
sh
ssh root@<droplet-ip>
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
sudo mkdir -p /etc/nostrfy
sudo curl -fsSL -o /etc/nostrfy/nostrfy.toml \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.toml
sudo nano /etc/nostrfy/nostrfy.toml # name、public_url、private_key を設定します
sudo curl -fsSL -o /etc/systemd/system/nostrfy.service \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.service
sudo systemctl daemon-reload
sudo systemctl enable --now nostrfy- ポートを開く:Droplet ファイアウォール(DigitalOcean Cloud Firewallが推奨)で受信 TCP
8080を許可します(TLS を追加する場合は443も)。 - 検証:
sh
curl http://<droplet-ip>:8080/health- TLS(
wss://)を追加:certbot + nginx で追加するか、証明書付きのDigitalOcean マネージド・ロードバランサーを利用します — その後relay.public_url = "wss://relay.example.com"を設定して再起動します。
オプション 2:App Platform(コンテナ)
App Platform はリポジトリの Dockerfile からビルドします(事前ビルド済みリリースバイナリをダウンロードします):
- GitHub リポジトリを接続し、そこからアプリを作成します。
- ポート:HTTP ポートを
8080に設定します(リレーはそこでリッスンします)。 - 永続ディスク:
/dataにボリュームをマウントします(LMDB データはそこに保存されます — ない場合、デプロイのたびにデータが失われます)。 - 環境:イメージに組み込まれた
deploy/nostrfy.container.tomlは、独自の設定を/etc/nostrfy/nostrfy.tomlにマウントすることで置き換えられます(コピーするフォークを作成するか、独自リポジトリの Dockerfile でCOPYを使用してください)。 - TLS:App Platform はアプリドメインに
https://を自動的に提供します — それに合わせてrelay.public_urlを設定してください。
両方のオプション共通
- 更新:
install.shを再実行 +systemctl restart nostrfy(Droplet の場合)、または接続されたリポジトリにプッシュ(App Platform の場合)。 - すべての設定は 設定リファレンスに記載されています。