Hoe een Nostr-relais onder Linux te installeren
Nostr is een innovatief protocol dat een gedecentraliseerd sociale-mediaplatform creëert dat zowel lichtgewicht als flexibel is. Om dit te laten werken, vertrouwt het Nostr-netwerk op eenvoudige knooppuntrelais om gecodeerde berichten naar de beoogde ontvangers te transporteren. Hier begeleiden we u door het proces van het maken van een Nostr Relay-knooppunt met Nostream op Ubuntu. We laten u ook zien hoe u verbinding kunt maken met uw nieuwe knooppunt op zowel Gossip- als Amethyst-clients.
Waarom Nostream gebruiken?
Nostream is een nostr-relais, geschreven in Typescript. Het belangrijkste voordeel van het gebruik van nostream is dat het u controle geeft over uw sociale mediagegevens. Net als bij Pleroma betekent het hosten van uw eigen Nostr-relayknooppunt dat u eigenaar bent van uw platform en gegevens terwijl u deze via het netwerk uitzendt.
Bovendien ondersteunt Nostream een volledig Dockerized installatie. Dit betekent dat u het eenvoudig op elke bestaande serverstack kunt implementeren.
Nostream installeren
Docker en Docker Compose verkrijgen
Aanname: In dit artikel wordt ervan uitgegaan dat je een VPS hebt met minimaal 8 GB RAM en een domeinnaam met een A- en PTR-record die verwijst naar het IP-adres van je server. Er wordt ook van uitgegaan dat u al een Nostr-account heeft met een werkend sleutelpaar.
Haal om te beginnen de ondertekeningssleutel op voor de binaire pakketrepository van het Docker-project:
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
Maak een nieuw repositorybestand voor Docker in uw “/etc/apt/sources.list.d”:
sudo nano /etc/apt/sources.list.d/docker.list
Plak het volgende codeblok in uw nieuwe repositorybestand en sla het op:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Update en upgrade uw Ubuntu-systeem door de volgende opdracht uit te voeren:
sudo apt update && sudo apt upgrade
Installeer het Docker-binaire bestand samen met de Docker Compose-plug-in en afhankelijkheden:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm
Voeg ten slotte uw huidige gebruiker toe aan de Docker-systeemgroep:
sudo usermod -aG docker ramces
Nostream verkrijgen en installeren
Haal de git-repository voor nostream op en ga naar de repository-map:
git clone https://github.com/Cameri/nostream.git && cd. /nostream
Voer het nostream bootstrap-script uit om de nostream-serverdaemon te bouwen en te implementeren als een Docker-container op uw systeem:
./scripts/start
Wacht tot de nostream Docker-container het “nostream”-logo afdrukt en druk vervolgens op Ctrl+ C.
Open het configuratiebestand voor uw nostream-instantie met uw favoriete teksteditor:
nano. /.nostr/settings.yaml
Vervang de waarde van de relay_url: en naam: variabele door de domeinnaam van uw exemplaar.
Vervang de waarde van de pubkey: variabele door de publieke sleutel van uw primaire Nostr-account.
Wijzig het e-mailadres van de contactpersoon: variabele met een werkend adres dat u momenteel gebruikt.
Open het bestand “docker-compose.yml” van uw exemplaar:
nano. /docker-compose.yml
Scroll naar de categorie “environment:” en vervang vervolgens de waarde van de “SECRET:”omgevingsvariabele door een willekeurige reeks tekens.
Start ten slotte uw nostream-instantie opnieuw op:
./scripts/start
Openbare toegang tot Nostream
Om toegang te krijgen tot nostream op uw domeinnaam, moeten we een Nginx reverse proxy maken om het verkeer naar de Docker-instantie te leiden.
Maak een nieuw siteconfiguratiebestand voor uw nostream-instantie:
sudo nano /etc/nginx/sites-available/nostream
Plak het volgende codeblok in uw nieuwe siteconfiguratiebestand:
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;
}}
Maak een symbolische link voor uw nieuwe siteconfiguratiebestand in “/etc/nginx/sites-enabled/”:
sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled
Test de instellingen van je Nginx:
sudo nginx -t
Als alles in orde is, pas dan uw nieuwe instellingen toe door uw Nginx-serverdaemon opnieuw te starten:
sudo systemctl restart nginx
Beveilig Nostream met SSL-certificaat
Zorg ervoor dat het core snap-pakket op je VPS draait:
sudo snap install core
Installeer het certbot snap-pakket van de Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Registreer uw certbot-installatie bij de EFF door de volgende opdracht uit te voeren:
sudo certbot register --agree-tos -m you@your-email.invalid
Vraag een nieuw SSL-certificaat aan voor uw nostream reverse proxy:
sudo certbot --nginx -d nostr.myvpsserver.top
Test of uw nieuwe nostream-relay werkt door een webbrowser te openen en naar het webadres te navigeren.
Nostream koppelen aan de Gossip Nostr Client
Om uw nieuwe nostream-relay aan Gossip te koppelen, klikt u op de categorie ‘Relays’ in de linkerzijbalk van het programma.
Klik op de knop Relay toevoegen onder de categorie “Relais”.
Er verschijnt een klein tekstvak waarin u het adres van uw nostream-instantie kunt schrijven. Geef het adres van uw nieuwe relais op, samen met de WebSocket-protocolheader “wss://”.
Klik op “Controleren”, gevolgd door “Configureren” om uw nieuwe relais in te stellen.
Gossip laadt vervolgens een instellingenpagina waarop u kunt bepalen hoe uw nieuwe relais zich bij uw klant zal gedragen. Als u berichten van uw exemplaar wilt verzenden en ontvangen, schakelt u de schakelaars ‘Lezen’ en ‘Schrijven’ op de instellingenpagina om.
Schakel de schakelaars “Inbox”, “Outbox” en “Adverteren” in om met andere relais te communiceren.
Test of uw relais goed werkt door een nieuw Nostr-biljet te sturen.
Nostream koppelen met de Amethyst Nostr Client
Naast Gossip kunt u uw nieuwe nostream-instantie ook koppelen aan andere Nostr-clients zoals Amethyst. Om dat te doen, klikt u op uw gebruikerspictogram in de linkerbovenhoek van de app.
Klik op de optie “Relais” in de pop-upzijbalk.
Selecteer het tekstvak ‘Een relais toevoegen’ en typ vervolgens het adres van uw nieuwe relais zonder de protocolkop.
Klik op “Toevoegen” om uw nieuwe nostream-instantie toe te passen op uw client.
Test of uw nieuwe exemplaar berichten correct doorgeeft door een voorbeeld van een Nostr-notitie te verzenden.
Het hosten van een Nostr-relais is slechts één manier om de controle over uw digitale leven terug te krijgen. Naast uw eigen sociale mediaplatform kunt u ook een cloudkantoorplatform bedienen met behulp van ownCloud en uw eigen videohostingwebsite hosten via Peertube .
Afbeelding tegoed: Paulina Chmolowska via Unsplash . Alle wijzigingen en screenshots door Ramces Red.
Geef een reactie