Partager de l'espace de stockage sur Storj avec le daemon sous Linux

in utopian-io •  10 months ago

storj.jpg

Qu'est-ce que j'apprendrai?

  • Vous allez apprendre à partager de l'espace disque sur Storj sous Linux
  • Vous allez apprendre à connecter votre noeud avec une interface web pour le monitorer
  • Vous allez apprendre à créer un script basique en bash pour démarrer votre noeud StorjShare

Pré-requis

  • Connaissance de base de la console sous Linux
  • Une machine qui fera office de serveur ( VPS, vieux PC recyclé en serveur local, Raspberry Pi ) avec au moins 1 Go de ram.
  • De l'espace disque réservé à Storj
  • Un wallet Ethereum supportant les tokens ERC20

Difficulté

  • Facile ( si habitué à Linux )
  • Moyenne ( si non familier avec Linux )

Contenu du tutoriel

Salut à tous, dans ce tutoriel je vais vous indiquer comment mettre en place un noeud StorjShare sous Linux en ligne de commande. Pour rappel Storj se veut être une alternative décentralisée à Dropbox, OneDrive, Google Drive, etc ..
Les fichiers stockés par les utilisateurs de Storj sont hébérgés sur de multiples noeuds StorjShare qui seront eux, récompensés en Storj pour leurs contributions.

Notre objectif est donc d'hébérger un noeud StorjShare pour partager l'espace disque de votre choix. Nous allons faire tout ça sous Linux, plus précisement sous Ubuntu Server 16.04, et sans utiliser d'interface graphique.

Installations des programmes

Nous allons partir du fait que nous avons une machine sous Ubuntu Server 16.04 de fonctionnelle ( dans mon cas une machine virtuelle KVM ) avec un accès distant par SSH.

Commencons par installer toute les dépendances :

sudo apt update && sudo apt install git python build-essential python3-pip python3-setuptools python3-wheel

Maintenant on va procéder à l'installation de Node.JS et de NPM, pour cela nous auront besoin de NVM. Entrez cette commande dans votre terminal pour télécharger et éxecuter le script d'installation de NVM :

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

NVM est maintenant installé mais la commande 'nvm' ne sera pas reconnu. Il nous faut donc actualiser le fichier ~/.bashrc avec la commande suivante :

source ~/.bashrc

NVM est utilisable, nous allons pouvoir installer Node.JS et NPM avec cette commande :

nvm install --lts

Nous pouvons dès à présent installer StorjShare via le gestionnaire de paquets NPM :

npm install --global storjshare-daemon

Voilà on en a fini avec cette première étape qui était d'installer tout le nécessaire.

Préparation des dossiers

Preparez le dossier dans lequel vous stockerez les données hébérgées par votre noeud Storj et un autre dossier pour les scripts et les fichiers de configurations. Dans mon cas, je stockerais les données hébérgées par Storj dans /home/LOGIN/StorjData et les fichiers de démarrage/configurations dans /home/LOGIN/Storj ce qui nous donne la commande suivante :

mkdir ~/StorjData && mkdir ~/Storj

Prevoyez également un dossier pour les logs, je le place dans /home/LOGIN/Storj/logs pour ma part.

mkdir ~/Storj/logs
Configuration du noeud StorjShare

StorjShare étant installé, nous avons accès à sa commande dédié. Vous pouvez voir les options disponibles avec la commande storjshare --help .

Pour créer notre configuration pour StorjShare c'est la fonction 'create' de storjshare qui nous intéresse. Affichez la liste des options avec storjshare create --help.

Pour créer votre noeud StorjShare, entrez cette commande en modifiant les paramètres marqués par une étoile ( * ) :

storjshare create --storj 0x4238498BeA0c72E56c617ed8D61E723D1F568214* --storage /home/wargof/StorjData* --size 55GB* --tunnelportmin 4000 --tunnelportmax 4003 --noedit --manualforwarding --logdir /home/wargof/Storj/logs* --outfile /home/wargof/Storj/config.json*

Pour l'option --storj indiquez tout simplement votre adresse Ethereum.
Il faut obligatoirement indiquer une adresse ETH dont vous détenez les clés privés !

Pour l'option --storage indiquez le chemin du repértoire où StorjShare doit stocker les données hébérgées.

Completez l'option --size par le poids maximum que vous allouez à StorjShare ( GB pour les Go et TB pour les To ).

Les paramètres --tunnelportmin et --tunnelportmax indique la rangée de ports qui seront utilisés pour communiquer avec les pairs. Vous devrez rediriger cette rangée de port vers votre noeud StorjShare depuis votre box Internet.

Indiquez le dossier qui doit contenir les journaux avec -logdir /VOTRE/DOSSIER/LOGS et indiquez ensuite où enregistrer le fichier de configuration de StorjShare avec --outfile /VOTRE/DOSSIER/NOM_CONFIG.json.

Une fois la commande personnalisée et entrée dans votre terminal, votre configuration pour votre noeud StorjShare est prête !

Ouverture et redirection des ports

Pour que l'exterieur puisse communiquer avec votre noeud Storj, il vous faut ouvrir quelques ports réseau. Si vous utilisez un VPS ou un serveur dédié, zappez directement cette étape.

Pour fonctionner, Storj a besoin des ports 4000, 4001, 4002 et 4003 ouverts et redirigés vers le l'ip du noeud.

Je vous laisse quelques liens qui vous montreront la démarche selon votre FAI :

Redirection de ports chez SFR

Redirection de ports chez Bouygues

Redirection de ports chez Orange

Redirection de ports chez Free

Création du script de démarrage de StorjShare

A la place de démarrer notre noeud StorjShare en plusieurs commandes, nous allons nous confectionner un tout petit script.
Créez un fichier .sh en console, nous l'appellerons StorjShare_start.sh .

nano ~/Storj/StorjShare_start.sh

Copiez-collez ensuite cette ligne au tout début de votre fichier #!/bin/bash.

Collez ensuite la ligne suivante afin de démarrer le daemon StorjShare : storjshare daemon.

Revenez à la ligne et copiez-collez cette ligne en modifiant l'emplacement du fichier de configuration : storjshare start --config /home/LOGIN/Storj/config.json.

Rendez votre script éxecutable grâce à chmod +x ~/Storj/StorjShare_start.sh et éxecutez le avec la commande bash ~/Storj/StorjShare_start.sh.

Votre noeud est dorénavant lancé ! Consultez son état grâce à la commande storjshare status.

Monitorer son noeud StorjShare avec StorjDash

Place à la dernière étape, celle qui vous permettra de suivre l'état de votre noeud. Pour cela on va utiliser le service StorjDash.
Commencez par vous y créer un compte et ensuite installez StorjDash à l'aide de pip3 :

sudo pip3 install storjdash

Une fois StorjDash installé, lançons sa configuration avec la commande :

sudo register_storjdash

Suivez les indications et entrez l'adresse mail de votre compte StorjDash ainsi que votre mot de passe. Un nom vous sera demandé, entre ce que vous désirez, il servira à identifier votre noeud.

Dernière question, il vous est demandé dans quel dossier se situe votre fichier de configuration, dans mon cas c'est /home/LOGIN/Storj.

Et c'est presque fini ! Pour envoyer le status de votre noeud à StorjDash, il suffit d'éxecuter cette commande : send_storj_reports &.
Pour nous faciliter la vie, on va automatiser le lancement de cette commande toute les heures à l'aide de cron.

Ajoutons la tâche planifié dans cron, pour cela il faut éditer la liste des tâches avec crontab -e et ajouter cette ligne tout à la fin :

0 * * * * /usr/bin/send_storj_reports

Cette ligne indique que la commande /usr/bin/send_storj_reports sera lancé toute les heures, à la première minute. Grâce à cela vous n'aurez plus besoin d'accéder à la machine qui héberge le noeud pour voir l'état de StorjShare, il vous suffira de vous connecter sur StorjDash.

Curriculum

Je n'ai pas encore de tutoriels sur Utopian à mon actif mais des articles concernant Storj sur Steemit.



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Your contribution cannot be approved because it does not follow the Utopian Rules.

Hi, this is the reason your contribution was rejected

  • Contents of the contributions (post content) must be in plain English and fully understandable.

I recommend you read the rules before contributing again in the future.

You can contact us on Discord.
[utopian-moderator]

Your Post Has Been Featured on @Resteemable!
Feature any Steemit post using resteemit.com!
How It Works:
1. Take Any Steemit URL
2. Erase https://
3. Type re
Get Featured Instantly � Featured Posts are voted every 2.4hrs
Join the Curation Team Here | Vote Resteemable for Witness