Guida all’installazione
Requisiti, compilazione dai sorgenti, installazione di un binario precompilato, verifica dei checksum e note per eseguire nostrfy su FreeBSD.
Requisiti
- Una toolchain Rust stabile recente (necessaria solo per compilare il relay).
- Una macchina Linux.
- Si consigliano 2 GB di RAM o più — per un VPS da 0,25 vCPU / 512 MB vedi la nota sulle risorse ridotte qui sotto.
VPS con risorse ridotte (0,25 vCPU / 512 MB)
nostrfy è stato verificato come stabile anche quando il database supera la RAM. La mappa LMDB è una prenotazione virtuale sparsa da 1 TiB — il disco fisico cresce solo con i dati scritti — e la memoria del processo resta stabile: un relay con un database da 252 MB occupava 7,9 MB di RSS privato (il resto è cache di file recuperabile che il kernel espelle sotto pressione).
Su un VPS minuscolo, un’impostazione fa la differenza maggiore:
[database]
search_index = false # dimezza la dimensione del database e risparmia CPU/IO| Impostazione | Effetto | Misurato |
|---|---|---|
search_index = false | Disattiva l’indice parole NIP-50 — la ricerca funziona ancora (parole intere) ma è più lenta | 41,8 MB → 20,5 MB per 10.000 eventi |
| Predefiniti | Già ottimizzato per poca memoria | Nessuna modifica necessaria per 512 MB |
Compilare dai sorgenti
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --releaseAl termine della compilazione, il binario si trova in target/release/nostrfy.
Installare un binario precompilato
Il flusso di release allega binari precompilati per Linux x86_64, Linux aarch64 e FreeBSD x86_64. Lo stesso install.sh funziona su entrambi i sistemi — rileva la piattaforma, scarica il binario corrispondente e ne verifica il checksum:
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shFreeBSD
nostrfy si compila e gira su FreeBSD 13.x e 14.x (amd64). Installa Rust e compila con:
pkg install -y rust
cargo build --releaseNote sulla piattaforma:
- Il controllo di attività del processo usato da
start/stop/restartlegge il nome del processo tramitekern.proc.pid.<pid>.commsysctl (su Linux usa/proc/<pid>/comm), quindi un file pid obsoleto il cui pid è stato riutilizzato da un altro programma viene rilevato su entrambe le piattaforme. nostrfy startsi avvia come demone come su Linux; il demone standard con doppio fork funziona con l’integrazionercpredefinita (service nostrfy start).- Il controllo
min_free_bytesdi Blossom usastatvfs, fornito da entrambi i sistemi; non viene usato altro codice specifico per piattaforma (il relay stesso è puro Rust asincrono su tokio).
Esecuzione sulla porta 80
Gli utenti normali non possono occupare la porta 80. Esegui con sudo oppure usa una porta più alta come 8080.
nostrfy --config nostrfy.toml startEsempio: esecuzione sulla porta 8080 (funziona per gli utenti normali; cambia prima la porta nella configurazione).