Come installare un relè Nostr in Linux

Come installare un relè Nostr in Linux

Nostr è un protocollo innovativo che crea una piattaforma di social media decentralizzata leggera e flessibile. Per far sì che ciò funzioni, la rete Nostr si affida a semplici nodi di inoltro per trasportare messaggi crittografati ai destinatari previsti. Qui ti guidiamo attraverso il processo di creazione di un nodo Nostr Relay utilizzando Nostream su Ubuntu. Ti mostriamo anche come connetterti al tuo nuovo nodo sia sui client Gossip che su Amethyst.

Perché utilizzare Nostream?

Nostream è un relè nostr, scritto in Typescript. Il vantaggio principale dell’utilizzo di nostream è che ti dà il controllo sui tuoi dati sui social media. Similmente a Pleroma , ospitare il tuo nodo di inoltro Nostr significa che possiedi la tua piattaforma e i tuoi dati mentre li trasmetti sulla rete.

Inoltre, Nostream supporta un’installazione completamente dockerizzata. Ciò significa che puoi distribuirlo facilmente su qualsiasi stack di server esistente.

Installazione di Nostream

Ottenere Docker e Docker Compose

Presupposto: questo articolo presuppone che tu abbia un VPS con almeno 8 GB di RAM e un nome di dominio con un record A e PTR che punta all’indirizzo IP del tuo server. Si presuppone inoltre che tu abbia già un account Nostr con una coppia di chiavi funzionante.

Per iniziare, recupera la chiave di firma per il repository di pacchetti binari del progetto Docker:

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

Crea un nuovo file repository per Docker all’interno del tuo “/etc/apt/sources.list.d”:

sudo nano /etc/apt/sources.list.d/docker.list

Incolla il seguente blocco di codice nel tuo nuovo file di repository e salvalo:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Aggiorna e aggiorna il tuo sistema Ubuntu eseguendo il seguente comando:

sudo apt update && sudo apt upgrade

Installa il binario Docker insieme al plug-in Docker Compose e alle dipendenze:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm

Infine, aggiungi il tuo utente corrente al gruppo di sistema Docker:

sudo usermod -aG docker ramces

Come ottenere e installare il nostroam

Recupera il repository git per nostream ed entra nella cartella del repository:

git clone https://github.com/Cameri/nostream.git && cd. /nostream

Esegui lo script bootstrap nostream per creare e distribuire il demone del server nostream come contenitore Docker sul tuo sistema:

./scripts/start

Attendere fino a quando il nostro contenitore Docker stampa il logo “nostream”, quindi premere Ctrl+ C.

Un terminale che mostra il nostro funzionamento con successo per la prima volta.

Apri il file di configurazione per la tua istanza nostraam utilizzando il tuo editor di testo preferito:

nano. /.nostr/settings.yaml

Sostituisci il valore della variabile relè_url: e nome: con il nome di dominio della tua istanza.

Un terminale che evidenzia l'indirizzo del nostroam dell'istanza.

Sostituisci il valore della variabile pubkey: con la chiave pubblica del tuo account Nostr primario.

Un terminale che evidenzia la chiave pubblica Nostr dell'amministratore dell'istanza.

Cambia l’indirizzo email nella variabile contact: con uno funzionante che stai attualmente utilizzando.

Un terminale che evidenzia l'indirizzo email dell'amministratore dell'istanza.

Apri il file “docker-compose.yml” della tua istanza:

nano. /docker-compose.yml

Scorri fino alla categoria “ambiente:”, quindi sostituisci il valore della variabile di ambiente “SECRET:” con una stringa casuale di caratteri.

Un terminale che evidenzia il segreto casuale principale dell'istanza.

Infine, riavvia la tua istanza del nostroam:

./scripts/start

Accesso pubblico a Nostream

Per poter accedere al nostroam sul tuo nome di dominio, dobbiamo creare un proxy inverso Nginx per instradare il traffico verso l’istanza Docker.

Crea un nuovo file di configurazione del sito per la tua istanza del nostroam:

sudo nano /etc/nginx/sites-available/nostream

Incolla il seguente blocco di codice all’interno del nuovo file di configurazione del sito:

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;
}}

Crea un collegamento simbolico per il file di configurazione del tuo nuovo sito all’interno di “/etc/nginx/sites-enabled/”:

sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled

Metti alla prova le impostazioni di Nginx:

sudo nginx -t

Se tutto va bene, applica le nuove impostazioni riavviando il demone del server Nginx:

sudo systemctl restart nginx

Proteggi Nostream con il certificato SSL

Assicurati che il pacchetto core snap sia in esecuzione sul tuo VPS:

sudo snap install core

Installa il pacchetto snap certbot dalla Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Registra la tua installazione certbot su EFF eseguendo il seguente comando:

sudo certbot register --agree-tos -m you@your-email.invalid

Richiedi un nuovo certificato SSL per il tuo reverse proxy del nostroam:

sudo certbot --nginx -d nostr.myvpsserver.top

Verifica se il tuo nuovo relè nostraam funziona aprendo un browser web e accedendo al suo indirizzo web.

Uno screenshot che mostra l'installazione riuscita del nostroam.

Collegamento del nostroam con il client Gossip Nostr

Per collegare il tuo nuovo staffetta nostraam con Gossip, fai clic sulla categoria “Relay” nella barra laterale sinistra del programma.

Uno screenshot che evidenzia il

Fare clic sul pulsante Aggiungi relè nella categoria “Relè”.

Uno screenshot che mostra il contenuto del file

Verrà visualizzata una piccola casella di testo in cui puoi scrivere l’indirizzo della tua istanza del nostroam. Fornisci l’indirizzo del tuo nuovo relè insieme all’intestazione del protocollo WebSocket “wss://”.

Uno screenshot che mostra l'indirizzo della nuova staffetta del nostroam.

Fai clic su “Verifica”, seguito da “Configura” per configurare il nuovo relè.

Gossip caricherà quindi una pagina delle impostazioni in cui potrai determinare come si comporterà il tuo nuovo relè con il tuo cliente. Per inviare e ricevere messaggi dalla tua istanza, attiva gli interruttori “Leggi” e “Scrivi” nella pagina delle impostazioni.

Attiva gli interruttori “Posta in arrivo”, “Posta in uscita” e “Pubblicità” per comunicare con altri relè.

Uno screenshot che mostra le funzionalità attive dell'attuale istanza del nostroam.

Verifica se il tuo relè funziona correttamente inviando una nuova nota Nostr.

Uno screenshot che mostra una nota di esempio Nostr in Gossip.

Collegamento del nostroam con il client Amethyst Nostr

Oltre a Gossip, puoi anche collegare la tua nuova istanza nostream con altri client Nostr come Amethyst. Per farlo, fai clic sull’icona dell’utente nell’angolo in alto a sinistra dell’app.

Uno screenshot che evidenzia il menu utente in Ametista.

Fai clic sull’opzione “Relè” nella barra laterale popup.

Uno screenshot che evidenzia il

Seleziona la casella di testo “Aggiungi un relè”, quindi digita l’indirizzo del tuo nuovo relè senza l’intestazione del protocollo.

Uno screenshot che evidenzia la richiesta di inoltro.

Fai clic su “Aggiungi” per applicare la tua nuova istanza del nostroam al tuo cliente.

Verifica se la tua nuova istanza inoltra correttamente i messaggi inviando una nota Nostr di esempio.

Uno screenshot che mostra un esempio di nota Nostr in Ametista.

Ospitare un relè Nostr è solo un modo per riprendere il controllo della tua vita digitale. Oltre alla tua piattaforma di social media, puoi anche fornire una piattaforma di cloud office utilizzando ownCloud e ospitare il tuo sito Web di hosting video tramite Peertube .

Credito immagine: Paulina Chmolowska tramite Unsplash . Tutte le modifiche e gli screenshot di Ramces Red.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *