Bereitstellung auf DigitalOcean
nostrfy auf einem DigitalOcean-Droplet oder der App Platform bereitstellen — Schritt für Schritt, mit systemd, TLS und einer produktionsreifen Konfiguration.
Zwei Optionen: ein Droplet (VM, am einfachsten) oder die App Platform (Container).
Option 1: Droplet (empfohlen)
- Droplet erstellen: Ubuntu 24.04 LTS, beliebige Größe (1 GB RAM reicht für den Anfang). Ein Droplet in einer Region in der Nähe Ihrer Nutzer senkt die Latenz.
- Per SSH verbinden und der allgemeinen VPS-Anleitung folgen:
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 # 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- Port öffnen in der Droplet-Firewall (die DigitalOcean Cloud Firewall wird empfohlen): eingehendes TCP
8080erlauben (und443, falls Sie TLS hinzufügen). - Überprüfen:
sh
curl http://<droplet-ip>:8080/health- TLS (
wss://) hinzufügen mit certbot + nginx oder DigitalOceans verwaltetem Load Balancer mit Zertifikat — dannrelay.public_url = "wss://relay.example.com"setzen und neu starten.
Option 2: App Platform (Container)
Die App Platform baut aus dem Dockerfile des Repositorys (das das vorgebaute
Release-Binary herunterlädt):
- GitHub-Repo verbinden und daraus eine App erstellen.
- Port: HTTP-Port auf
8080setzen (der Relay lauscht dort). - Persistente Platte: Volume unter
/dataeinhängen (LMDB-Daten liegen dort — ohne sie gehen bei jeder Bereitstellung die Daten verloren). - Env: Die ins Image eingebettete
deploy/nostrfy.container.tomlkann ersetzt werden, indem Sie Ihre eigene Konfiguration unter/etc/nostrfy/nostrfy.tomleinhängen (einen Fork erstellen, der sie kopiert, oder ein Dockerfile-COPYim eigenen Repo verwenden). - TLS: Die App Platform stellt
https://für die App-Domain automatisch bereit —relay.public_urlentsprechend setzen.
Beide Optionen
- Updates:
install.sherneut ausführen +systemctl restart nostrfy(Droplet) oder in das verbundene Repo pushen (App Platform). - Die gesamte Konfiguration ist in der Konfigurationsreferenz dokumentiert.