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)

  1. 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.
  2. 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
  1. Port öffnen in der Droplet-Firewall (die DigitalOcean Cloud Firewall wird empfohlen): eingehendes TCP 8080 erlauben (und 443, falls Sie TLS hinzufügen).
  2. Überprüfen:
sh
curl http://<droplet-ip>:8080/health
  1. TLS (wss://) hinzufügen mit certbot + nginx oder DigitalOceans verwaltetem Load Balancer mit Zertifikat — dann relay.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):

  1. GitHub-Repo verbinden und daraus eine App erstellen.
  2. Port: HTTP-Port auf 8080 setzen (der Relay lauscht dort).
  3. Persistente Platte: Volume unter /data einhängen (LMDB-Daten liegen dort — ohne sie gehen bei jeder Bereitstellung die Daten verloren).
  4. Env: Die ins Image eingebettete deploy/nostrfy.container.toml kann ersetzt werden, indem Sie Ihre eigene Konfiguration unter /etc/nostrfy/nostrfy.toml einhängen (einen Fork erstellen, der sie kopiert, oder ein Dockerfile-COPY im eigenen Repo verwenden).
  5. TLS: Die App Platform stellt https:// für die App-Domain automatisch bereit — relay.public_url entsprechend setzen.

Beide Optionen

  • Updates: install.sh erneut ausführen + systemctl restart nostrfy (Droplet) oder in das verbundene Repo pushen (App Platform).
  • Die gesamte Konfiguration ist in der Konfigurationsreferenz dokumentiert.