Panoramica sulla distribuzione
Come è distribuito nostrfy e come distribuirlo — Fly.io, AWS, Google Cloud, Azure, DigitalOcean o qualsiasi VPS, con note su TLS, systemd e container.
Un binario, più piattaforme
nostrfy fornisce binari precompilati per x86_64 e aarch64 (artefatti delle
release GitHub, verificati tramite checksum da install.sh), un’immagine container che scarica tali binari (nessuna compilazione richiesta) e guide di distribuzione per le principali
piattaforme.
Piattaforme
| Piattaforma | Tipo | Guida |
|---|---|---|
| Fly.io | Piattaforma gestita (container, volumi, TLS) | fly.md |
| Digital Ocean | Droplet (VM) o App Platform | deploy/digitalocean.md |
| AWS | EC2 (VM), Lightsail o ECS | deploy/aws.md |
| Google Cloud | Compute Engine (VM) o Cloud Run | deploy/gcp.md |
| Azure | VM o Container Apps | deploy/azure.md |
| Qualsiasi VPS | Semplice server Ubuntu/Debian | deploy/vps.md |
Il modello comune per le VM
Tutte le guide per VM (Digital Ocean, AWS EC2, GCP, Azure, qualsiasi VPS) seguono lo stesso modello:
# 1. Installa l'ultimo binario della release (non serve sudo per l'installazione stessa)
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
# 2. Scarica il modello di configurazione e modificalo (non serve clonare il repository)
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
# 3. Scarica l'unità systemd e avvia il servizio
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
# 4. Apri la porta (di solito 8080) nel firewall del provider e verifica
curl http://localhost:8080/healthPrima di andare in produzione
Ogni distribuzione usa le stesse opzioni di nostrfy.toml. Prima di andare in produzione, imposta almeno:
[relay]
name = "My Relay"
public_url = "wss://relay.example.com" # obbligatorio per NIP-42 AUTH / NIP-62 / NIP-98
private_key = "" # esegui 'nostrfy genkey' e incolla la chiaveVM o container?
- VM (systemd): più semplice, più economica, controllo completo. Consigliata per la maggior parte delle distribuzioni di relay.
- Container: usa il
Dockerfiledel repository (scarica il binario della release al momento della build) su Fly.io, Digital Ocean App Platform, AWS ECS, GCP Cloud Run o Azure Container Apps. È richiesto storage persistente per i dati LMDB (/data).
Host multimediale Blossom
Se blossom.host è impostato, punta quell’hostname alla stessa porta anche nel proxy TLS (vedi i
blocchi nginx/Caddy nella guida VPS).