Guia de instalação
Requisitos, compilação do código-fonte, instalação de um binário pré-compilado, verificação de checksums e notas para executar o nostrfy no FreeBSD.
Requisitos
- Uma toolchain Rust estável recente (necessária apenas para compilar o relay).
- Uma máquina Linux.
- Recomenda-se 2 GB de RAM ou mais — para um VPS de 0,25 vCPU / 512 MB, veja a nota de poucos recursos abaixo.
VPS de poucos recursos (0,25 vCPU / 512 MB)
O nostrfy foi verificado como estável mesmo quando o banco excede a RAM. O mapa LMDB é uma reserva virtual esparsa de 1 TiB — o disco físico só cresce com os dados gravados — e a memória do processo permanece estável: um relay com banco de 252 MB usava 7,9 MB de RSS privado (o restante é cache de arquivos recuperável que o kernel descarta sob pressão).
Em um VPS minúsculo, uma configuração faz a maior diferença:
[database]
search_index = false # reduz o banco pela metade e economiza CPU/IO| Configuração | Efeito | Medido |
|---|---|---|
search_index = false | Desativa o índice de palavras NIP-50 — a pesquisa continua funcionando (palavras inteiras) mas é mais lenta | 41,8 MB → 20,5 MB por 10.000 eventos |
| Padrões | Já ajustado para pouca memória | Nenhuma alteração necessária para 512 MB |
Compilar do código-fonte
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --releaseQuando a compilação termina, o binário fica em target/release/nostrfy.
Instalar um binário pré-compilado
O fluxo de release anexa binários pré-compilados para Linux x86_64, Linux aarch64 e FreeBSD x86_64. O mesmo install.sh funciona nos dois sistemas — detecta a plataforma, baixa o binário correspondente e verifica seu checksum:
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shFreeBSD
O nostrfy compila e roda no FreeBSD 13.x e 14.x (amd64). Instale o Rust e compile com:
pkg install -y rust
cargo build --releaseNotas de plataforma:
start/stop/restart— a verificação de processo ativo usada por esses comandos lê o nome do processo via sysctlkern.proc.pid.<pid>.comm(no Linux usa/proc/<pid>/comm), então um arquivo pid obsoleto cujo pid foi reutilizado por outro programa é detectado em ambas as plataformas.nostrfy startvira daemon como no Linux; o daemon de fork duplo padrão funciona com a integraçãorc(service nostrfy start).- A verificação de
min_free_bytesusastatvfs, que ambos os sistemas fornecem; nenhum outro código específico de plataforma é usado (o relay em si é Rust assíncrono puro sobre tokio).
Execução na porta 80
Usuários comuns não podem vincular a porta 80. Execute com sudo ou use uma porta mais alta, como 8080.
nostrfy --config nostrfy.toml startExemplo: execução na porta 8080 (válido para usuários comuns; altere antes a porta na configuração).