DigitalOcean へのデプロイ

DigitalOcean Droplet または App Platform に nostrfy をデプロイ — systemd、TLS、本番対応の設定をステップバイステップで解説します。

2つの選択肢があります:Droplet(VM、最もシンプル)または App Platform(コンテナ)です。

オプション 1:Droplet(推奨)

  1. Droplet を作成:Ubuntu 24.04 LTS、サイズはどれでも可(開始時は 1 GB RAM で十分です)。ユーザーの近くにあるリージョンの Droplet はレイテンシを低減します。
  2. 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
  1. ポートを開く:Droplet ファイアウォール(DigitalOcean Cloud Firewallが推奨)で受信 TCP 8080 を許可します(TLS を追加する場合は 443 も)。
  2. 検証:
sh
curl http://<droplet-ip>:8080/health
  1. TLS(wss://)を追加:certbot + nginx で追加するか、証明書付きのDigitalOcean マネージド・ロードバランサーを利用します — その後 relay.public_url = "wss://relay.example.com" を設定して再起動します。

オプション 2:App Platform(コンテナ)

App Platform はリポジトリの Dockerfile からビルドします(事前ビルド済みリリースバイナリをダウンロードします):

  1. GitHub リポジトリを接続し、そこからアプリを作成します。
  2. ポート:HTTP ポートを 8080 に設定します(リレーはそこでリッスンします)。
  3. 永続ディスク:/data にボリュームをマウントします(LMDB データはそこに保存されます — ない場合、デプロイのたびにデータが失われます)。
  4. 環境:イメージに組み込まれた deploy/nostrfy.container.toml は、独自の設定を /etc/nostrfy/nostrfy.toml にマウントすることで置き換えられます(コピーするフォークを作成するか、独自リポジトリの Dockerfile で COPY を使用してください)。
  5. TLS:App Platform はアプリドメインに https:// を自動的に提供します — それに合わせて relay.public_url を設定してください。

両方のオプション共通

  • 更新:install.sh を再実行 + systemctl restart nostrfy(Droplet の場合)、または接続されたリポジトリにプッシュ(App Platform の場合)。
  • すべての設定は 設定リファレンスに記載されています。