Distribuzione su AWS
Distribuisci nostrfy su AWS EC2, Lightsail o ECS/Fargate — passo dopo passo, con systemd, TLS dietro un reverse proxy e una checklist di produzione.
Opzioni: EC2 (VM, consigliata), Lightsail (VM più semplice) o ECS/Fargate (container).
Opzione 1: EC2 (consigliata)
- Avvia un’istanza: Amazon Linux 2023 o Ubuntu 24.04 LTS,
t3.small(2 GB di RAM) è sufficiente per iniziare. Scegli una regione vicina ai tuoi utenti. - Gruppo di sicurezza: consenti TCP in ingresso
8080(e443per TLS). Limita la regola SSH al tuo IP. - Connettiti via SSH e segui la guida VPS generica:
sh
ssh -i your-key.pem ec2-user@<public-ip> # per Ubuntu: ubuntu@<public-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- Verifica:
sh
curl http://<public-ip>:8080/health- Aggiungi TLS (
wss://) con certbot + nginx (come nella guida VPS) oppure con un Application/Network Load Balancer con certificato ACM — quindi impostarelay.public_urle riavvia.
Opzione 2: Lightsail
Le istanze Lightsail funzionano esattamente come la guida EC2 — la scheda di rete contiene le
regole del firewall: apri TCP 8080.
Opzione 3: ECS / Fargate (container)
Il Dockerfile del repository scarica il binario di release precompilato al momento della build:
- Invia l’immagine su ECR: sh
docker buildx build --platform linux/amd64,linux/arm64 -t <account>.dkr.ecr.<region>.amazonaws.com/nostrfy . - Crea un servizio ECS (Fargate, 1 task) con un volume EFS montato su
/data(persistenza LMDB — senza di esso, i dati si perdono a ogni nuova distribuzione). - Esporre la porta
8080; metti davanti un ALB + certificato ACM per TLS. - La configurazione integrata
deploy/nostrfy.container.tomlpuò essere sovrascritta montando il tuonostrfy.tomlsu/etc/nostrfy/nostrfy.toml(es. un fork che lo copia nell’immagine).
Elastic IP
Associa un Elastic IP all’istanza se la fermi/avvii — altrimenti l’IP pubblico
cambia e public_url non sarà più valido.