Guía de instalación

Requisitos, compilación desde el código fuente, instalación de un binario precompilado, verificación de sumas de comprobación y notas para ejecutar nostrfy en FreeBSD.

Requisitos

  • Un toolchain de Rust estable y reciente (solo necesario para compilar el relé).
  • Máquina Linux.
  • Se recomiendan 2 GB de RAM o más — para un VPS de 0,25 vCPU / 512 MB, consulta la nota de bajos recursos de abajo.

VPS de bajos recursos (0,25 vCPU / 512 MB)

nostrfy se ha verificado como estable incluso cuando la base de datos supera la RAM. El mapa LMDB es una reserva virtual dispersa de 1 TiB — el disco físico solo crece con los datos escritos — y la memoria del proceso se mantiene estable: un relé con una base de 252 MB ocupaba 7,9 MB de RSS privado (el resto es caché de archivos reclamable que el kernel expulsa bajo presión).

En un VPS diminuto, un ajuste marca la mayor diferencia:

toml
[database]
search_index = false   # reduce la base a la mitad y ahorra CPU/IO
AjusteEfectoMedido
search_index = falseDesactiva el índice de palabras NIP-50 — la búsqueda sigue funcionando (palabras completas) pero es más lenta41,8 MB → 20,5 MB por 10.000 eventos
Valores predeterminadosYa optimizado para poca memoriaNo se necesita ningún cambio para 512 MB

Compilar desde el código fuente

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

Cuando termina la compilación, el binario está en target/release/nostrfy.

Instalar un binario precompilado

El flujo de publicación adjunta binarios precompilados para Linux x86_64, Linux aarch64 y FreeBSD x86_64. El mismo install.sh funciona en ambos sistemas — detecta la plataforma, descarga el binario correspondiente y verifica su suma de comprobación:

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

FreeBSD

nostrfy se compila y ejecuta en FreeBSD 13.x y 14.x (amd64). Instala Rust y compila con:

sh
pkg install -y rust
cargo build --release

Notas de plataforma:

  • La comprobación de proceso vivo que usan start/stop/restart lee el nombre del proceso vía el sysctl kern.proc.pid.<pid>.comm (en Linux usa /proc/<pid>/comm), por lo que un archivo pid obsoleto cuyo pid fue reutilizado por otro programa se detecta en ambas plataformas.
  • nostrfy start se ejecuta como demonio igual que en Linux; el demonio clásico de doble fork funciona con la integración rc por defecto (service nostrfy start).
  • La comprobación de min_free_bytes de Blossom usa statvfs, que ambos sistemas proporcionan; no se usa ningún otro código específico de plataforma (el relé es Rust asíncrono puro sobre tokio).

Ejecución en el puerto 80

Los usuarios normales no pueden enlazar el puerto 80. Ejecútalo con sudo o usa un puerto más alto como 8080.

sh
nostrfy --config nostrfy.toml start

Ejemplo: ejecución en el puerto 8080 (válido para usuarios normales; cambia antes el puerto en la configuración).

Siguiente
nostrfy está instalado. Sigue el inicio rápido.