So installieren Sie ein Nostr-Relay unter Linux

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.

Ein Terminal, das zeigt, dass nostream zum ersten Mal erfolgreich ausgeführt wird.

Ö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.

Ein Terminal, das die Nostream-Adresse der Instanz hervorhebt.

Ersetzen Sie den Wert der Variablen pubkey: durch den öffentlichen Schlüssel Ihres primären Nostr-Kontos.

Ein Terminal, das den öffentlichen Nostr-Schlüssel des Instanzadministrators hervorhebt.

Ändern Sie die E-Mail-Adresse der Variable „Kontakt: “ durch eine funktionierende Adresse, die Sie derzeit verwenden.

Ein Terminal, das die E-Mail-Adresse des Instanzadministrators hervorhebt.

Ö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.

Ein Terminal, das das zentrale Zufallsgeheimnis der Instanz hervorhebt.

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.

Ein Screenshot, der eine erfolgreiche Nostream-Installation zeigt.

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“.

Ein Screenshot, der das hervorhebt

Klicken Sie unter der Kategorie „Relais“ auf die Schaltfläche „ Relais hinzufügen “.

Ein Screenshot, der den Inhalt zeigt

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.

Ein Screenshot, der die Adresse des neuen Nostream-Relays zeigt.

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.

Ein Screenshot, der die aktiven Funktionen der aktuellen Nostream-Instanz zeigt.

Testen Sie, ob Ihr Relais ordnungsgemäß funktioniert, indem Sie eine neue Nostr-Notiz senden.

Ein Screenshot, der eine Nostr-Beispielnotiz in Gossip zeigt.

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.

Ein Screenshot, der das Benutzermenü in Amethyst hervorhebt.

Klicken Sie in der Popup-Seitenleiste auf die Option „Relais“.

Ein Screenshot, der das hervorhebt

Wählen Sie das Textfeld „Relais hinzufügen“ und geben Sie dann die Adresse Ihres neuen Relais ohne Protokollkopf ein.

Ein Screenshot, der die Relay-Eingabeaufforderung hervorhebt.

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.

Ein Screenshot, der eine beispielhafte Nostr-Notiz in Amethyst zeigt.

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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert