インストールガイド

環境要件、ソースからのビルド、ビルド済みバイナリのインストール、チェックサムの検証、および FreeBSD で nostrfy を実行する際の注意点。

環境要件

  • 新しい安定版 Rust ツールチェーン(リレーのビルド時のみ必要)。
  • Linux マシン。
  • 2 GB 以上のメモリを推奨 — 0.25 vCPU / 512 MB VPS の場合は以下の低スペック向け注意を参照してください。

低スペック VPS(0.25 vCPU / 512 MB)

データベースがメモリを超えても、nostrfy が安定して動作することを検証済みです。LMDB マップは スパースな 1 TiB 仮想予約 — 物理ディスクは書き込まれたデータ分だけ増え — プロセスメモリは一定:データベース 252 MB のリレーでも 7.9 MB のプライベート RSS (残りはカーネルが圧力下で解放する回収可能なファイルキャッシュです)。

小さな VPS では、1 つの設定が最も効果的です:

toml
[database]
search_index = false   # データベースサイズを半分にし、CPU/IO を節約します
設定効果実測
search_index = falseNIP-50 単語インデックスを無効化 — 検索は引き続き動作します(全語一致)が遅くなります10,000 イベントあたり 41.8 MB → 20.5 MB
既定値低メモリ向けに調整済み512 MB では変更不要

ソースからのビルド

sh
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --release

ビルドが完了すると、バイナリは target/release/nostrfy に生成されます。

ビルド済みバイナリのインストール

リリースワークフローは Linux x86_64、Linux aarch64 、 FreeBSD x86_64 のビルド済みバイナリを提供します。同じ install.sh は両 OS で動作します — プラットフォームを検出し、一致するバイナリをダウンロードしてチェックサムを検証します:

sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh

FreeBSD

nostrfy は FreeBSD 13.x と 14.x(amd64)でビルド・実行できます。Rust をインストールしてビルドします:

sh
pkg install -y rust
cargo build --release

プラットフォームに関する注意:

  • start/stop/restart が使用するプロセス生存確認は FreeBSD では kern.proc.pid.<pid>.comm sysctl でプロセス名を読み取ります(Linux では /proc/<pid>/comm)ため、両プラットフォームで pid が他プログラムに再利用された古い pid ファイルを検出できます。
  • nostrfy start は Linux と同様にデーモン化します。標準の二重 fork デーモンは既定の rc との統合(service nostrfy start)と組み合わせて動作します。
  • Blossom の min_free_bytes のチェックは statvfs を使用しており、両システムが提供しています。他にプラットフォーム固有のコードはありません(リレー自体は tokio 上の純粋な非同期 Rust です)。

80 ポートでの実行

一般ユーザーはポート 80 をバインドできません。 sudo で実行するか、8080 など高いポートを使用してください。

sh
nostrfy --config nostrfy.toml start

例:ポート 8080 で実行(一般ユーザーでも可。先に設定でポートを変更してください)。

次のステップ
nostrfy のインストールが完了しました。クイックスタートガイドに従ってください。