Bereitstellung auf Google Cloud
nostrfy auf Google Cloud Compute Engine oder Cloud Run bereitstellen — Schritt für Schritt, mit systemd, TLS und den Scale-to-Zero-Hinweisen.
Optionen: Compute Engine (VM, empfohlen) oder Cloud Run (Container).
Option 1: Compute Engine (empfohlen)
- VM erstellen: Ubuntu 24.04 LTS (oder Debian),
e2-small(2 GB) reicht für den Anfang. Wählen Sie eine Region in der Nähe Ihrer Nutzer. - Firewall-Regel: eingehendes TCP
8080(und443für TLS) erlauben. Unter Netzwerk → Firewall eine Regel mit den Ziel-Tags erstellen, die Sie der VM zugewiesen haben. - Per SSH verbinden (der SSH-Button der Konsole funktioniert) und der allgemeinen VPS-Anleitung folgen:
sh
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- Statische IP reservieren (Externe IP → Reservieren), damit
public_urlauch nach Neustarts gültig bleibt. - Überprüfen:
sh
curl http://<external-ip>:8080/health- TLS (
wss://) hinzufügen mit certbot + nginx (wie in der VPS-Anleitung) oder einem GCP-Load-Balancer mit verwaltetem Zertifikat.
Option 2: Cloud Run (Container)
Cloud Run baut aus dem Dockerfile des Repositories (das das vorgebaute
Release-Binary herunterlädt):
- Service aus dem GitHub-Repo erstellen (oder das Image in die Artifact Registry pushen).
- Port: Container-Port auf
8080setzen. - Speicher zuweisen: mindestens 512 MB (LMDB + Async-Runtime).
- Persistenter Speicher: ein Cloud-Run-Volume (filestore/gcsfuse) unter
/dataeinhängen — LMDB benötigt ein Dateisystem, daher eignet sich ein GCS-FUSE-Mount unter/datafür die Persistenz. - TLS: Cloud Run stellt
https://automatisch bereit — setzen Sierelay.public_url = "wss://<service>.a.run.app"(oder Ihre eigene Domain).