Desplegar en AWS
Despliega nostrfy en AWS EC2, Lightsail o ECS/Fargate — paso a paso, con systemd, TLS detrás de un proxy inverso y una lista de verificación de producción.
Opciones: EC2 (VM, recomendado), Lightsail (VM más simple) o ECS/Fargate (contenedores).
Opción 1: EC2 (recomendado)
- Lanza una instancia: Amazon Linux 2023 o Ubuntu 24.04 LTS,
t3.small(2 GB de RAM) es suficiente para empezar. Elige una región cercana a tus usuarios. - Grupo de seguridad: permite TCP entrante
8080(y443para TLS). Limita la regla SSH a tu IP. - Conéctate por SSH y sigue la guía genérica de VPS:
sh
ssh -i your-key.pem ec2-user@<public-ip> # En 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 # configura name, public_url y 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- Añade TLS (
wss://) con certbot + nginx (como en la guía de VPS) o con un Application/Network Load Balancer con certificado ACM — luego establecerelay.public_urly reinicia.
Opción 2: Lightsail
Las instancias de Lightsail funcionan exactamente igual que la guía de EC2 — la pestaña de red contiene las
reglas del cortafuegos: abre TCP 8080.
Opción 3: ECS / Fargate (contenedor)
El Dockerfile del repositorio descarga el binario de release precompilado en el momento de la compilación:
- Sube la imagen a ECR: sh
docker buildx build --platform linux/amd64,linux/arm64 -t <account>.dkr.ecr.<region>.amazonaws.com/nostrfy . - Crea un servicio ECS (Fargate, 1 tarea) con un volumen EFS montado en
/data(persistencia LMDB — sin él, los datos se pierden en cada redespliegue). - Expón el puerto
8080; coloca delante un ALB + certificado ACM para TLS. - La configuración integrada
deploy/nostrfy.container.tomlse puede reemplazar montando tu propionostrfy.tomlen/etc/nostrfy/nostrfy.toml(p. ej. un fork que lo copia en la imagen).
Elastic IP
Asocia una Elastic IP a la instancia si la detienes/inicias — de lo contrario la IP pública
cambia y public_url deja de ser válida.