Installationsanleitung

Anforderungen, Bauen aus dem Quellcode, Installation eines vorgefertigten Binaries, Prüfsummenprüfung und Hinweise zum Betrieb von nostrfy unter FreeBSD.

Anforderungen

  • Eine aktuelle, stabile Rust-Toolchain (nur zum Bauen des Relays nötig).
  • Linux-Rechner.
  • 2 GB RAM oder mehr werden empfohlen — für einen 0,25 vCPU / 512 MB VPS siehe den Hinweis zu schwacher Hardware unten.

Schwacher VPS (0,25 vCPU / 512 MB)

nostrfy läuft nachweislich stabil, auch wenn die Datenbank den RAM übersteigt. Die LMDB-Map ist eine dünne virtuelle Reservierung von 1 TiB — die physische Festplatte wächst nur mit den geschriebenen Daten — und der Prozessspeicher bleibt konstant: Ein Relay mit 252 MB Datenbank belegte 7,9 MB privates RSS (der Rest ist rückgewinnbarer Dateicache, den der Kernel unter Druck verdrängt).

Bei einem winzigen VPS bringt eine Einstellung den größten Unterschied:

toml
[database]
search_index = false   # halbiert die Datenbankgröße und spart CPU/IO
EinstellungWirkungGemessen
search_index = falseDeaktiviert den NIP-50-Wortindex — die Suche funktioniert weiter (Ganzwortsuche), ist aber langsamer41,8 MB → 20,5 MB pro 10.000 Events
StandardwerteBereits auf wenig Speicher abgestimmtFür 512 MB sind keine Änderungen nötig

Bau aus dem Quellcode

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

Wenn der Build fertig ist, liegt das Binary unter target/release/nostrfy.

Vorgebautes Binary installieren

Der Release-Workflow liefert Linux x86_64, Linux aarch64 und FreeBSD x86_64 als vorgefertigte Binaries. Dasselbe install.sh funktioniert auf allen Systemen — es erkennt die Plattform, lädt das passende Binary und verifiziert dessen Prüfsumme:

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

FreeBSD

nostrfy lässt sich auf FreeBSD 13.x und 14.x (amd64) bauen und betreiben. Installieren Sie Rust und bauen Sie mit:

sh
pkg install -y rust
cargo build --release

Hinweise zur Plattform:

  • Die von start/stop/restart genutzte Prozessprüfung liest den Prozessnamen über das kern.proc.pid.<pid>.comm-sysctl (unter Linux wird /proc/<pid>/comm verwendet), sodass auf beiden Plattformen eine veraltete pid-Datei erkannt wird, deren pid von einem anderen Programm wiederverwendet wurde.
  • nostrfy start daemonisiert wie unter Linux; der standardmäßige Double-Fork-Daemon funktioniert mit der Standard-rc-Integration (service nostrfy start).
  • Die min_free_bytes-Prüfung von Blossom nutzt statvfs, das beide Systeme bereitstellen; weiterer plattformspezifischer Code wird nicht verwendet (das Relay selbst ist reines asynchrones Rust auf tokio).

Betrieb auf Port 80

Normale Benutzer können Port 80 nicht binden. Führen Sie es mit sudo aus oder verwenden Sie einen höheren Port wie 8080.

sh
nostrfy --config nostrfy.toml start

Beispiel: Betrieb auf Port 8080 (für normale Benutzer geeignet; ändern Sie zuerst den Port in der Konfiguration).

Weiter
nostrfy ist installiert. Folgen Sie der Schnellstartanleitung.