Google Cloud へのデプロイ

Google Cloud Compute Engine または Cloud Run への nostrfy のデプロイ — systemd、TLS、ゼロへの自動縮小の注意点を網羅したステップバイステップガイド。

選択肢:Compute Engine(VM、推奨)または Cloud Run (コンテナ)。

オプション 1:Compute Engine(推奨)

  1. VM を作成:Ubuntu 24.04 LTS(または Debian)、e2-small(2 GB)で 開始に十分です。ユーザーに近いリージョンを選んでください。
  2. ファイアウォールルール:インバウンド TCP 8080(TLS 用に 443 も)を許可します。Network → Firewall で、VM に割り当てたターゲットタグを持つ ルールを作成してください。
  3. SSH で接続(コンソールの SSH ボタンで可)し、汎用の VPS ガイドに従ってください:
sh
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. 静的 IP を予約(External IP → Reserve)して、再起動後も public_url が 有効なままになるようにします。
  2. 検証:
sh
curl http://<external-ip>:8080/health
  1. TLS(wss://)を追加:VPS ガイドの 通り certbot + nginx を使うか、マネージド証明書付きの GCP ロードバランサーを使用します。

オプション 2:Cloud Run(コンテナ)

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

  1. GitHub リポジトリからサービスを作成(またはイメージを Artifact Registry にプッシュ)。
  2. ポート:コンテナポートを 8080 に設定します。
  3. メモリを割り当て:最低 512 MB(LMDB + 非同期ランタイム用)。
  4. 永続ストレージ:Cloud Run ボリューム(filestore/gcsfuse) を /data にアタッチ — LMDB はファイルシステムが必要なため、/data への GCS FUSE マウントが永続化に有効です。
  5. TLS:Cloud Run は https:// を自動的に提供します — relay.public_url = "wss://<service>.a.run.app"(またはカスタムドメイン) を設定してください。
Cloud Run は既定でゼロにスケールします
リレーの場合は min instances = 1 に設定してコールドスタートを防いでください。 イメージに組み込まれた deploy/nostrfy.container.toml は、独自の nostrfy.toml を /etc/nostrfy/nostrfy.toml にマウントすることで 置き換え可能です。