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 :

toml
[database]
search_index = false   # divise la taille de la base par deux et économise CPU/IO
RéglageEffetMesuré
search_index = falseDésactive l’index de mots NIP-50 — la recherche fonctionne toujours (mots entiers) mais est plus lente41,8 Mo → 20,5 Mo pour 10 000 événements
Valeurs par défautDéjà optimisé pour la faible mémoireAucun changement nécessaire pour 512 Mo

Compiler depuis les sources

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

Une 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 :

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

FreeBSD

nostrfy se compile et s’exécute sur FreeBSD 13.x et 14.x (amd64). Installez Rust et compilez avec :

sh
pkg install -y rust
cargo build --release

Notes sur la plateforme :

  • La vérification de processus actif utilisée par start/stop/restart lit le nom du processus via le sysctl kern.proc.pid.<pid>.comm sur FreeBSD (elle utilise /proc/<pid>/comm sous 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 start se lance en démon comme sous Linux ; le démon à double fork standard fonctionne avec l’intégration rc (service nostrfy start).
  • Le contrôle min_free_bytes utilise statvfs, 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.

sh
nostrfy --config nostrfy.toml start

Exemple : exécution sur le port 8080 (accessible aux utilisateurs normaux ; changez d’abord le port dans la configuration).

Suivant
nostrfy est installé. Suivez le démarrage rapide.