Distribuzione su DigitalOcean
Distribuisci nostrfy su un Droplet DigitalOcean o su App Platform — passo dopo passo, con systemd, TLS e una configurazione pronta per la produzione.
Due opzioni: un Droplet (VM, il più semplice) o App Platform (container).
Opzione 1: Droplet (consigliato)
- Crea un Droplet: Ubuntu 24.04 LTS, qualsiasi dimensione (1 GB di RAM è sufficiente per iniziare). Un Droplet in una regione vicina ai tuoi utenti riduce la latenza.
- Accedi via SSH e segui la guida VPS generica:
sh
ssh root@<droplet-ip>
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
sudo mkdir -p /etc/nostrfy
sudo curl -fsSL -o /etc/nostrfy/nostrfy.toml \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.toml
sudo nano /etc/nostrfy/nostrfy.toml # imposta name, public_url, private_key
sudo curl -fsSL -o /etc/systemd/system/nostrfy.service \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.service
sudo systemctl daemon-reload
sudo systemctl enable --now nostrfy- Apri la porta nel firewall del Droplet (è consigliato il DigitalOcean Cloud Firewall): consenti il TCP in ingresso
8080(e443se aggiungi TLS). - Verifica:
sh
curl http://<droplet-ip>:8080/health- Aggiungi TLS (
wss://) con certbot + nginx, oppure il load balancer gestito di DigitalOcean con un certificato — quindi impostarelay.public_url = "wss://relay.example.com"e riavvia.
Opzione 2: App Platform (container)
App Platform compila dal Dockerfile del repository (che scarica il binario di release
precompilato):
- Collega il tuo repository GitHub e crea un’app da esso.
- Porta: imposta la porta HTTP su
8080(il relay è in ascolto lì). - Disco persistente: monta un volume su
/data(i dati LMDB risiedono lì — senza di esso, i dati vengono persi a ogni distribuzione). - Configurazione: il file
deploy/nostrfy.container.tomlintegrato nell’immagine può essere sostituito montando la tua configurazione su/etc/nostrfy/nostrfy.toml(crea un fork che lo copia, oppure usa unCOPYnel Dockerfile del tuo repository). - TLS: App Platform fornisce
https://automaticamente per il dominio dell’app — impostarelay.public_urldi conseguenza.
Entrambe le opzioni
- Aggiornamenti: riesegui
install.sh+systemctl restart nostrfy(Droplet), oppure fai push al repository collegato (App Platform). - Tutta la configurazione è documentata nel riferimento di configurazione.