Storj et Nextcloud

Avec ce petit tuto je vous explique comment connecter Storj à votre instance Nextcloud.

Avant tout, quézaquo Nextcloud et quézaquo Storj ?

Nextcloud est l’équivalent de Dropbox et peut être installé sur un serveur dédié chez vous ou chez un hébergeur. Une fois Nextcloud installé, vous pouvez héberger vos fichiers sur ce serveur ou via différents moyens de stockage externe (FTP, SMB, S3, etc.) Plus d’information sur le site officiel de Nextcloud.

Storj est un service décentralisé de stockage d’objets dans le cloud (définition) qui stocke les données non pas de manière centralisée mais au sein d’un réseau constitué d’une multitude d’opérateurs. Les objets sont découpés et chiffrés puis envoyés vers ce réseau. On peut citer, parmi les avantages de ce système, une plus grande confidentialité et fiabilité du stockage et des tarifs très compétitifs par rapport aux offres classiques de cloud centralisé. Même si cela reste à démontrer, il est fort probable que l’impact environnemental d’une telle solution est moindre que les solutions centralisées puisqu’il est possible d’utiliser des ressources existantes pour stocker les objets (exemples : une box internet, un serveur domestique ou d’entreprise, etc.).

Connecter Storj à une instance Nextcloud permet donc de bénéficier de l’ensemble de ces avantages. On peut imaginer installer Nextcloud à son domicile, par exemple sur un Raspberry Pi, et l’associer à Storj.

Concrètement, Nextcloud ne peut pas directement être associé à Storj. Néanmoins, il est très facile de migrer des applications supportant Amazon S3 vers Storj. Comme les droits d’accès utilisés par Storj ne sont pas entièrement compatibles avec Amazon S3, il est nécessaire pour les applications qui ne sont pas directement compatibles avec Storj (comme Nextcloud) de recourir à une passerelle qui traduit les accès compatibles S3 en accès compatibles Storj (le « Storj gateway »).

Ce tuto présume que vous avez déjà installé Nextcloud sur un système Linux et que vous pouvez accéder à celui-ci en direct ou via SSH.

Créer un compte sur Storj DCS

Créez un compte sur Storj DCS en vous connectant au site https://eu1.storj.io/signup. Une fois le compte créé et l’adresse email vérifiée, suivez ces étapes :

Cliquez sur « Projects » puis sur « Manage Projects ».

Cliquez sur « Create Project + ».

Créez un nouveau projet.

Ouvrez le menu latéral et cliquez sur « Access » puis cliquez sur « Create Access Grant + ». 

Suivez toutes les étapes de création d’un access grant. Vous pouvez lui donner l’autorisation pour tous les buckets. Il faut également obtenir les données S3.

Enregistrer l’access grant dans un document texte, qu’on appellera, pour la suite du tuto, accessgrant.txt.

Installer le Storj uplink

On va d'abord installer le Storj uplink et créer notre premier bucket :

curl -L https://github.com/storj/storj/releases/latest/download/uplink_linux_amd64.zip -o uplink_linux_amd64.zip
unzip -o uplink_linux_amd64.zip
chmod 755 uplink
sudo mv uplink /usr/local/bin/uplink

Une fois le Storj uplink installé, configurons le :

uplink import accessgrant.txt

Une fois cette étape achevée, tapez la commande suivante :

uplink mb sj://archive

Si le retour de commande affiche :

Bucket archive has been created

alors, tout est en ordre.

Installer le Storj gateway

Installez ensuite le Storj gateway :

curl -L https://github.com/storj/gateway/releases/latest/download/gateway_linux_amd64.zip -O && unzip gateway_linux_amd64.zip
chmod 755 gateway
sudo mv gateway /usr/local/bin/gateway

Configurez le gateway avec la commande suivante :

gateway setup --access votre_access_grant --non-interactive

Il faut maintenant lancer le gateway, par exemple dans une session screen :

screen gateway run

Copiez les informations contenues dans Endpoint, Access key et Secret key, qui seront nécessaires à la configuration de nextcloud.

Configurer Nextcloud

Il n’y a plus qu’à configurer votre instance de nextcloud pour se connecter à la passerelle (gateway). Pour ce faire, allez dans les paramètres de nextcloud, puis dans le volet de gauche, cliquez sur Stockages externes sous le menu Administration.

Le screenshot ci-dessous montre les informations suivantes :

archive : votre bucket

127.0.01 : Endpoint IP

7777 : Endpoint port

gateway.eu1.storjshare.io: Region

Barré en rouge : Access key

********** : Secret key