Comment installer un relais Nostr sous Linux

Comment installer un relais Nostr sous Linux

Nostr est un protocole innovant qui crée une plateforme de médias sociaux décentralisée à la fois légère et flexible. Pour que cela fonctionne, le réseau Nostr s’appuie sur de simples relais de nœuds pour acheminer les messages cryptés vers leurs destinataires. Nous vous guidons ici tout au long du processus de création d’un nœud Nostr Relay à l’aide de Nostream sur Ubuntu. Nous vous montrons également comment vous connecter à votre nouveau nœud sur les clients Gossip et Amethyst.

Pourquoi utiliser Nostream ?

Nostream est un relais nostr, écrit en Typescript. Le principal avantage de l’utilisation de nostream est qu’il vous donne le contrôle de vos données sur les réseaux sociaux. Semblable à Pleroma , héberger votre propre nœud relais Nostr signifie que vous êtes propriétaire de votre plateforme et de vos données lorsque vous les diffusez sur le réseau.

De plus, Nostream prend en charge une installation entièrement Dockerisée. Cela signifie que vous pouvez facilement le déployer sur n’importe quelle pile de serveurs existante.

Installation de Nostream

Obtention de Docker et Docker Compose

Hypothèse : Cet article suppose que vous disposez d’un VPS avec au moins 8 Go de RAM ainsi qu’un nom de domaine avec un enregistrement A et PTR pointant vers l’adresse IP de votre serveur. Cela suppose également que vous disposez déjà d’un compte Nostr avec une paire de clés fonctionnelle.

Pour commencer, récupérez la clé de signature du référentiel de packages binaires du projet 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

Créez un nouveau fichier de référentiel pour Docker dans votre « /etc/apt/sources.list.d » :

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

Collez le bloc de code suivant dans votre nouveau fichier de référentiel et enregistrez-le :

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

Mettez à jour et mettez à niveau votre système Ubuntu en exécutant la commande suivante :

sudo apt update && sudo apt upgrade

Installez le binaire Docker avec son plugin Docker Compose et ses dépendances :

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

Enfin, ajoutez votre utilisateur actuel au groupe système Docker :

sudo usermod -aG docker ramces

Obtention et installation de nostream

Récupérez le dépôt git pour nostream et allez dans le dossier du dépôt :

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

Exécutez le script d’amorçage nostream pour créer et déployer le démon du serveur nostream en tant que conteneur Docker sur votre système :

./scripts/start

Attendez que le conteneur Docker nostream imprime le logo « nostream », puis appuyez sur Ctrl+ C.

Un terminal montrant que nostream s'exécute avec succès pour la première fois.

Ouvrez le fichier de configuration de votre instance nostream à l’aide de votre éditeur de texte préféré :

nano. /.nostr/settings.yaml

Remplacez la valeur des variables relay_url: et name: par le nom de domaine de votre instance.

Un terminal mettant en évidence l'adresse nostream de l'instance.

Remplacez la valeur de la variable pubkey: par la clé publique de votre compte Nostr principal.

Un terminal mettant en avant la clé publique Nostr de l'administrateur de l'instance.

Changez l’adresse e-mail sur la variable contact: avec une adresse fonctionnelle que vous utilisez actuellement.

Un terminal mettant en avant l'adresse email de l'administrateur de l'instance.

Ouvrez le fichier « docker-compose.yml » de votre instance :

nano. /docker-compose.yml

Faites défiler jusqu’à la catégorie « environnement : », puis remplacez la valeur de la variable d’environnement « SECRET : » par une chaîne de caractères aléatoire.

Un terminal mettant en évidence le secret aléatoire principal de l'instance.

Enfin, redémarrez votre instance nostream :

./scripts/start

Accéder publiquement à Nostream

Pour pouvoir accéder à nostream sur votre nom de domaine, nous devons créer un proxy inverse Nginx pour acheminer le trafic vers l’instance Docker.

Créez un nouveau fichier de configuration de site pour votre instance nostream :

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

Collez le bloc de code suivant dans le fichier de configuration de votre nouveau site :

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

Créez un lien symbolique pour votre nouveau fichier de configuration de site dans « /etc/nginx/sites-enabled/ » :

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

Testez les paramètres de votre Nginx :

sudo nginx -t

Si tout va bien, appliquez vos nouveaux paramètres en redémarrant le démon de votre serveur Nginx :

sudo systemctl restart nginx

Sécurisez Nostream avec un certificat SSL

Assurez-vous que le package Snap principal est en cours d’exécution sur votre VPS :

sudo snap install core

Installez le package snap certbot de l’Electronic Frontier Foundation (EFF) :

sudo snap install certbot --classic

Enregistrez votre installation certbot auprès de l’EFF en exécutant la commande suivante :

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

Demandez un nouveau certificat SSL pour votre proxy inverse nostream :

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

Testez si votre nouveau relais nostream fonctionne en ouvrant un navigateur Web et en accédant à son adresse Web.

Une capture d'écran montrant une installation nostream réussie.

Lier nostream au client Gossip Nostr

Pour lier votre nouveau relais nostream à Gossip, cliquez sur la catégorie « Relais » dans la barre latérale gauche du programme.

Une capture d'écran mettant en évidence le

Cliquez sur le bouton Ajouter un relais sous la catégorie « Relais ».

Une capture d'écran montrant le contenu du

Cela fera apparaître une petite zone de texte dans laquelle vous pourrez écrire l’adresse de votre instance nostream. Fournissez l’adresse de votre nouveau relais ainsi que son en-tête de protocole WebSocket « wss:// ».

Une capture d'écran montrant l'adresse du nouveau relais nostream.

Cliquez sur « Vérifier », suivi de « Configurer » pour configurer votre nouveau relais.

Gossip chargera ensuite une page de paramètres où vous pourrez déterminer comment votre nouveau relais se comportera avec votre client. Pour envoyer et recevoir des messages depuis votre instance, activez les commutateurs « Lire » et « Écrire » sur la page des paramètres.

Basculez les commutateurs « Boîte de réception », « Boîte d’envoi » et « Annonce » afin de communiquer avec d’autres relais.

Une capture d'écran montrant les fonctionnalités actives de l'instance nostream actuelle.

Testez si votre relais fonctionne correctement en envoyant une nouvelle note Nostr.

Une capture d'écran montrant un exemple de note Nostr dans Gossip.

Lier nostream au client Amethyst Nostr

Outre Gossip, vous pouvez également lier votre nouvelle instance nostream à d’autres clients Nostr tels qu’Amethyst. Pour ce faire, cliquez sur votre icône d’utilisateur dans le coin supérieur gauche de l’application.

Une capture d'écran mettant en évidence le menu utilisateur dans Amethyst.

Cliquez sur l’option « Relais » dans la barre latérale contextuelle.

Une capture d'écran mettant en évidence le

Sélectionnez la zone de texte « Ajouter un relais », puis saisissez l’adresse de votre nouveau relais sans son en-tête de protocole.

Une capture d'écran mettant en évidence l'invite de relais.

Cliquez sur « Ajouter » pour appliquer votre nouvelle instance nostream à votre client.

Testez si votre nouvelle instance relaie correctement les messages en envoyant un exemple de note Nostr.

Une capture d'écran montrant un exemple de note Nostr en Améthyste.

Héberger un relais Nostr n’est qu’un moyen parmi d’autres de reprendre le contrôle de votre vie numérique. Outre votre propre plate-forme de médias sociaux, vous pouvez également gérer une plate-forme de bureau cloud en utilisant ownCloud ainsi qu’héberger votre propre site Web d’hébergement vidéo via Peertube .

Crédit image : Paulina Chmolowska via Unsplash . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *