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:
[database]
search_index = false # halbiert die Datenbankgröße und spart CPU/IO| Einstellung | Wirkung | Gemessen |
|---|---|---|
search_index = false | Deaktiviert den NIP-50-Wortindex — die Suche funktioniert weiter (Ganzwortsuche), ist aber langsamer | 41,8 MB → 20,5 MB pro 10.000 Events |
| Standardwerte | Bereits auf wenig Speicher abgestimmt | Für 512 MB sind keine Änderungen nötig |
Bau aus dem Quellcode
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --releaseWenn 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:
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shFreeBSD
nostrfy lässt sich auf FreeBSD 13.x und 14.x (amd64) bauen und betreiben. Installieren Sie Rust und bauen Sie mit:
pkg install -y rust
cargo build --releaseHinweise zur Plattform:
- Die von
start/stop/restartgenutzte Prozessprüfung liest den Prozessnamen über daskern.proc.pid.<pid>.comm-sysctl (unter Linux wird/proc/<pid>/commverwendet), sodass auf beiden Plattformen eine veraltete pid-Datei erkannt wird, deren pid von einem anderen Programm wiederverwendet wurde. nostrfy startdaemonisiert 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 nutztstatvfs, 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.
nostrfy --config nostrfy.toml startBeispiel: Betrieb auf Port 8080 (für normale Benutzer geeignet; ändern Sie zuerst den Port in der Konfiguration).