Guide d’installation
Prérequis, compilation depuis les sources, installation d’un binaire précompilé, vérification des sommes de contrôle et notes pour exécuter nostrfy sur FreeBSD.
Prérequis
- Une chaîne d’outils Rust stable récente (nécessaire uniquement pour compiler le relais).
- Une machine Linux.
- 2 Go de RAM ou plus sont recommandés — pour un VPS 0,25 vCPU / 512 Mo, voir la note sur les configurations modestes ci-dessous.
VPS modeste (0,25 vCPU / 512 Mo)
nostrfy a été vérifié comme stable même lorsque la base dépasse la RAM. La carte LMDB est une réservation virtuelle creuse de 1 TiB — le disque physique ne grandit qu’avec les données écrites — et la mémoire du processus reste stable : un relais avec une base de 252 Mo n’occupait que 7,9 Mo de RSS privé (le reste est du cache de fichiers récupérable que le noyau évince sous pression).
Sur un tout petit VPS, un réglage fait la plus grande différence :
[database]
search_index = false # divise la taille de la base par deux et économise CPU/IO| Réglage | Effet | Mesuré |
|---|---|---|
search_index = false | Désactive l’index de mots NIP-50 — la recherche fonctionne toujours (mots entiers) mais est plus lente | 41,8 Mo → 20,5 Mo pour 10 000 événements |
| Valeurs par défaut | Déjà optimisé pour la faible mémoire | Aucun changement nécessaire pour 512 Mo |
Compiler depuis les sources
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --releaseUne fois la compilation terminée, le binaire se trouve dans target/release/nostrfy.
Installer un binaire précompilé
Le workflow de release joint des binaires précompilés Linux x86_64, Linux aarch64 et FreeBSD x86_64. Le même install.sh fonctionne sur les deux OS — il détecte la plateforme, télécharge le binaire correspondant et vérifie sa somme de contrôle :
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shFreeBSD
nostrfy se compile et s’exécute sur FreeBSD 13.x et 14.x (amd64). Installez Rust et compilez avec :
pkg install -y rust
cargo build --releaseNotes sur la plateforme :
- La vérification de processus actif utilisée par
start/stop/restartlit le nom du processus via le sysctlkern.proc.pid.<pid>.commsur FreeBSD (elle utilise/proc/<pid>/commsous Linux), donc un fichier pid obsolète dont le pid a été réutilisé par un autre programme est détecté sur les deux plateformes. nostrfy startse lance en démon comme sous Linux ; le démon à double fork standard fonctionne avec l’intégrationrc(service nostrfy start).- Le contrôle
min_free_bytesutilisestatvfs, fourni par les deux systèmes ; aucun autre code spécifique à une plateforme n’est utilisé (le relais lui-même est du Rust asynchrone pur sur tokio).
Exécution sur le port 80
Les utilisateurs normaux ne peuvent pas lier le port 80. Exécutez avec sudo ou utilisez un port plus élevé comme 8080.
nostrfy --config nostrfy.toml startExemple : exécution sur le port 8080 (accessible aux utilisateurs normaux ; changez d’abord le port dans la configuration).