Bereitstellung auf AWS
nostrfy auf AWS EC2, Lightsail oder ECS/Fargate bereitstellen — Schritt für Schritt, mit systemd, TLS hinter einem Reverse-Proxy und einer Produktions-Checkliste.
Optionen: EC2 (VM, empfohlen), Lightsail (einfachere VM) oder ECS/Fargate (Container).
Option 1: EC2 (empfohlen)
- Instanz starten: Amazon Linux 2023 oder Ubuntu 24.04 LTS,
t3.small(2 GB RAM) reicht für den Anfang. Wählen Sie eine Region in der Nähe Ihrer Nutzer. - Sicherheitsgruppe: eingehendes TCP
8080(und443für TLS) erlauben. Begrenzen Sie die SSH-Regel auf Ihre IP. - Per SSH verbinden und der allgemeinen VPS-Anleitung folgen:
sh
ssh -i your-key.pem ec2-user@<public-ip> # Unter 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 # name, public_url, private_key setzen
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- Überprüfen:
sh
curl http://<public-ip>:8080/health- TLS (
wss://) hinzufügen mit certbot + nginx (wie in der VPS-Anleitung) oder mit einem Application/Network Load Balancer mit ACM-Zertifikat — dannrelay.public_urlsetzen und neu starten.
Option 2: Lightsail
Lightsail-Instanzen funktionieren genau wie in der EC2-Anleitung — der Networking-Tab enthält die
Firewall-Regeln: TCP 8080 öffnen.
Option 3: ECS / Fargate (Container)
Das Dockerfile im Repository lädt beim Build das vorgefertigte Release-Binary herunter:
- Image nach ECR pushen: sh
docker buildx build --platform linux/amd64,linux/arm64 -t <account>.dkr.ecr.<region>.amazonaws.com/nostrfy . - Einen ECS-Service (Fargate, 1 Task) mit gemountetem EFS-Volume unter
/dataerstellen (LMDB-Persistenz — ohne sie gehen Daten bei erneuten Bereitstellungen verloren). - Port
8080exponieren; davor einen ALB + ACM-Zertifikat für TLS schalten. - Die eingebettete Konfiguration
deploy/nostrfy.container.tomlkann überschrieben werden, indem Sie Ihre eigenenostrfy.tomlunter/etc/nostrfy/nostrfy.tomlmounten (z. B. ein Fork, der sie ins Image kopiert).
Elastic IP
Weisen Sie der Instanz eine Elastic IP zu, wenn Sie sie stoppen/starten — sonst ändert sich die öffentliche
IP und public_url bricht.