So installieren Sie ein Nostr-Relay unter Linux
Nostr ist ein innovatives Protokoll, das eine dezentrale Social-Media-Plattform schafft, die sowohl leichtgewichtig als auch flexibel ist. Damit dies funktioniert, verlässt sich das Nostr-Netzwerk auf einfache Knoten-Relays, um verschlüsselte Nachrichten an die vorgesehenen Empfänger zu übermitteln. Hier führen wir Sie durch den Prozess der Erstellung eines Nostr Relay-Knotens mit Nostream unter Ubuntu. Wir zeigen Ihnen auch, wie Sie sowohl auf Gossip- als auch auf Amethyst-Clients eine Verbindung zu Ihrem neuen Knoten herstellen.
Warum Nostream verwenden?
Nostream ist ein Nostr-Relay, geschrieben in Typescript. Der Hauptvorteil der Verwendung von nostream besteht darin, dass Sie damit die Kontrolle über Ihre Social-Media-Daten haben. Ähnlich wie bei Pleroma bedeutet das Hosten Ihres eigenen Nostr-Relay-Knotens, dass Sie Eigentümer Ihrer Plattform und Daten sind, während Sie diese über das Netzwerk übertragen.
Darüber hinaus unterstützt Nostream eine vollständig Docker-Installation. Dies bedeutet, dass Sie es problemlos auf jedem vorhandenen Server-Stack bereitstellen können.
Nostream installieren
Beziehen von Docker und Docker Compose
Annahme: In diesem Artikel wird davon ausgegangen, dass Sie über einen VPS mit mindestens 8 GB RAM sowie einen Domänennamen mit einem A- und PTR-Eintrag verfügen, der auf die IP-Adresse Ihres Servers verweist. Es wird außerdem davon ausgegangen, dass Sie bereits über ein Nostr-Konto mit einem funktionierenden Schlüsselpaar verfügen.
Rufen Sie zunächst den Signaturschlüssel für das Binärpaket-Repository des Docker-Projekts ab:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Erstellen Sie eine neue Repository-Datei für Docker in Ihrer „/etc/apt/sources.list.d“:
sudo nano /etc/apt/sources.list.d/docker.list
Fügen Sie den folgenden Codeblock in Ihre neue Repository-Datei ein und speichern Sie ihn:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Aktualisieren und aktualisieren Sie Ihr Ubuntu-System, indem Sie den folgenden Befehl ausführen:
sudo apt update && sudo apt upgrade
Installieren Sie die Docker-Binärdatei zusammen mit dem Docker Compose-Plugin und den Abhängigkeiten:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm
Fügen Sie abschließend Ihren aktuellen Benutzer zur Docker-Systemgruppe hinzu:
sudo usermod -aG docker ramces
Nostream beziehen und installieren
Rufen Sie das Git-Repository für Nostream ab und gehen Sie in den Repository-Ordner:
git clone https://github.com/Cameri/nostream.git && cd. /nostream
Führen Sie das Nostream-Bootstrap-Skript aus, um den Nostream-Server-Daemon zu erstellen und als Docker-Container auf Ihrem System bereitzustellen:
./scripts/start
Warten Sie, bis der Nostream-Docker-Container das „nostream“-Logo druckt, und drücken Sie dann Ctrl+ C.
Öffnen Sie die Konfigurationsdatei für Ihre Nostream-Instanz mit Ihrem bevorzugten Texteditor:
nano. /.nostr/settings.yaml
Ersetzen Sie den Wert der Variablen „relay_url:“ und „name: “ durch den Domänennamen Ihrer Instanz.
Ersetzen Sie den Wert der Variablen pubkey: durch den öffentlichen Schlüssel Ihres primären Nostr-Kontos.
Ändern Sie die E-Mail-Adresse der Variable „Kontakt: “ durch eine funktionierende Adresse, die Sie derzeit verwenden.
Öffnen Sie die Datei „docker-compose.yml“ Ihrer Instanz:
nano. /docker-compose.yml
Scrollen Sie zur Kategorie „Umgebung:“ und ersetzen Sie dann den Wert der Umgebungsvariablen „SECRET:“ durch eine zufällige Zeichenfolge.
Starten Sie abschließend Ihre Nostream-Instanz neu:
./scripts/start
Öffentlicher Zugriff auf Nostream
Um über Ihren Domainnamen auf nostream zugreifen zu können, müssen wir einen Nginx-Reverse-Proxy erstellen , um den Datenverkehr an die Docker-Instanz weiterzuleiten.
Erstellen Sie eine neue Site-Konfigurationsdatei für Ihre Nostream-Instanz:
sudo nano /etc/nginx/sites-available/nostream
Fügen Sie den folgenden Codeblock in Ihre neue Site-Konfigurationsdatei ein:
server {
server_name nostr.myvpsserver.top;
location / {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}
Erstellen Sie einen symbolischen Link für Ihre neue Site-Konfigurationsdatei in „/etc/nginx/sites-enabled/“:
sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled
Testen Sie die Einstellungen Ihres Nginx:
sudo nginx -t
Wenn alles in Ordnung ist, übernehmen Sie Ihre neuen Einstellungen, indem Sie Ihren Nginx-Server-Daemon neu starten:
sudo systemctl restart nginx
Sicheres Nostream mit SSL-Zertifikat
Stellen Sie sicher, dass das Kern-Snap-Paket auf Ihrem VPS ausgeführt wird:
sudo snap install core
Installieren Sie das Certbot-Snap-Paket von der Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Registrieren Sie Ihre Certbot-Installation beim EFF, indem Sie den folgenden Befehl ausführen:
sudo certbot register --agree-tos -m you@your-email.invalid
Fordern Sie ein neues SSL-Zertifikat für Ihren Nostream-Reverse-Proxy an:
sudo certbot --nginx -d nostr.myvpsserver.top
Testen Sie, ob Ihr neues Nostream-Relay funktioniert, indem Sie einen Webbrowser öffnen und zu seiner Webadresse navigieren.
Verknüpfung von nostream mit dem Gossip Nostr Client
Um Ihr neues Nostream-Relay mit Gossip zu verknüpfen, klicken Sie in der linken Seitenleiste des Programms auf die Kategorie „Relays“.
Klicken Sie unter der Kategorie „Relais“ auf die Schaltfläche „ Relais hinzufügen “.
Dadurch wird ein kleines Textfeld angezeigt, in das Sie die Adresse Ihrer Nostream-Instanz eingeben können. Geben Sie die Adresse Ihres neuen Relays zusammen mit dem WebSocket-Protokoll-Header „wss://“ an.
Klicken Sie auf „Prüfen“ und anschließend auf „Konfigurieren“, um Ihr neues Relais einzurichten.
Gossip lädt dann eine Einstellungsseite, auf der Sie festlegen können, wie sich Ihr neues Relay bei Ihrem Client verhält. Um Nachrichten von Ihrer Instanz zu senden und zu empfangen, schalten Sie die Schalter „Lesen“ und „Schreiben“ auf der Einstellungsseite um.
Schalten Sie die Schalter „Posteingang“, „Postausgang“ und „Werben“ um, um mit anderen Relays zu kommunizieren.
Testen Sie, ob Ihr Relais ordnungsgemäß funktioniert, indem Sie eine neue Nostr-Notiz senden.
Verknüpfung von nostream mit dem Amethyst Nostr Client
Neben Gossip können Sie Ihre neue Nostream-Instanz auch mit anderen Nostr-Clients wie Amethyst verknüpfen. Klicken Sie dazu in der oberen linken Ecke der App auf Ihr Benutzersymbol.
Klicken Sie in der Popup-Seitenleiste auf die Option „Relais“.
Wählen Sie das Textfeld „Relais hinzufügen“ und geben Sie dann die Adresse Ihres neuen Relais ohne Protokollkopf ein.
Klicken Sie auf „Hinzufügen“, um Ihre neue Nostream-Instanz auf Ihren Client anzuwenden.
Testen Sie, ob Ihre neue Instanz Nachrichten ordnungsgemäß weiterleitet, indem Sie eine Nostr-Beispielnotiz senden.
Das Hosten eines Nostr-Relays ist nur eine Möglichkeit, die Kontrolle über Ihr digitales Leben zurückzugewinnen. Neben Ihrer eigenen Social-Media-Plattform können Sie mit ownCloud auch eine Cloud-Office-Plattform bereitstellen und über Peertube Ihre eigene Video-Hosting-Website hosten .
Bildnachweis: Paulina Chmolowska über Unsplash . Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar