[VERSION FINALE] Nextcloud sur Raspberry pi : fanless, RAID 1, simple, pas cher !

En voilà un sujet qui me tient à cœur.

Précédemment, j’ai proposé un guide pour sauvegarder des fichiers accessibles depuis n’importe quel appareil connecté à internet avec Nextcloud. Pour rappel, Nextcloud est un hébergeur de données comme Dropbox mais, contrairement à ce dernier, il respecte entièrement votre vie privée.
Malheureusement, mon précédent tutoriel était très complexe, long, et cher à mettre en œuvre. Eh bien, voici une mise à jour permettant de corriger tous ces défauts, en plus d’être fanless !

A titre de comparaison :

[align=center]
[/align]

Vous l’aurez compris, pour environ deux heures de votre temps et 125€ (hors disques durs évidemment), il est possible de mettre en place tout cela facilement. Il reste 1:59 alors ne perdons pas de temps, c’est parti !
[hr]
[color=#1E90FF]1. COMMENT A-T-ON PU GAGNER AUTANT DE TEMPS ET D’ARGENT ? [/color]

[list]
[*]J’ai appris qu’il existait un boîtier externe permettant de mettre en place un RAID1 (=dupliquer un disque dur pour éviter de perdre ses données lors d’une panne) matériellement juste en actionnant un bouton. Avec ça, on gagne facilement 1 jour et on évide plein de galères comparé à mon ancien tuto !

[*]Autre point qui m’a fait gagner beaucoup de temps : une image toute prête de Nextcloud pour Raspberry pi, appelé Nextcloudpi. Plus aucune ligne de commande à écrire, tout est intégré donc rien à installer (Apache, PHP, MariaDB, HTTPS, OPcache, etc.). Donc là aussi, on flash l’image et c’est tout, ce qui fait gagner du temps et rend la tâche accessible à n’importe qui.

[*]Enfin, en ce qui concerne le prix, plus besoin d’un onéreux ASUS VIVO dual bay, ni d’acheter de la mémoire vive, etc. Un abordable Raspberry pi, le fameux boitier RAID1, et on réduit le coût de moitié.

[/list]
[hr]
[color=#1E90FF]2. CHOIX DES ELEMENTS (Logiciels, matériels, prix) : [/color]

2.a. Le logiciel Nextcloudpi :

Nextcloudpi est la version officielle de Nextcloud pour le Raspberry pi, disponible ici :
https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
Comme dit précédemment, tout y est installé, on flashe sur la carte microSD et c’est tout.

2.b. Le matériel nécessaire :

Un Boitier Externe Icy Box IB-RD2253-U31 :

c’est un boîtier compact en alu, extrêmement bien fini, aéré et dont les baies sont assez espacées pour être fanless. Il possède un bouton pour gérer le RAID que l’on souhaite. A 47,90€, c’est un must-have. Il contiendra l’espace de stockage pour nos données. Les vis pour y fixer les disques durs sont même incluses.

Le Raspberry pi 3 :

On ne le présente plus. Petit, pas cher et peu énergivore. C’est dans ce dernier que Nextcloudpi sera installé. Il est généralement vendu sans alimentation, pensez donc à l’acheter si c’est le cas.

Un Adaptateur réseau UGREEN USB3.0 vers RJ45 :

Il relie le Raspberry pi à sa box Internet. Pourquoi me direz-vous ? C’est la petite astuce du tuto. Pour rappel, le Raspberry pi ne comporte qu’une prise Ethernet limitée à 100 Mbps (=12,5 Mo/s) alors que ses connecteurs USB 2 ont un débit limité à 480 Mbps. Or, les ports USB et Ethernet peuvent partager le même canal. L’idée c’est donc de relier le Raspberry pi à Internet en se branchant sur le port USB via cet adaptateur UGREEN, dans le but d’atteindre un débit de 480 Mbps au lieu de 100 Mbps. Sur ce site le testeur affirme augmenter son débit de 3,4 fois (40,4 Mo/s via le port USB contre 11,8 Mo/s en Ethernet).

Une carte Mémoire microSDHC 16GB :
Pour y installer Nextcloudpi dessus.

Un câble RJ45 :
Pour relier le l’adaptateur à sa box Internet.

2.c. Le prix :

Avec tout ça, on en a grosso modo pour 125€.

A ce prix, il faut ajouter deux disques durs 2,5". Gratuit, si vous voulez recycler deux vieux disques 2,5" qui trainent dans un netbook abandonné, sinon il va falloir en acheter. Ces derniers vont impacter votre budget. Je vous laisse donc le soin de décider du rapport capacité de stockage/prix.

Note : quoi qu’il en soit, je déconseille vivement de prendre deux disques de modèles identiques car ils auraient la probabilité d’être défaillant quasiment en même temps puisqu’ils seraient traités dans les mêmes conditions. Mieux vaut donc éviter cela en prenant deux modèles différents.
[hr]
[color=#1E90FF]3. INSTALLATION : [/color]

L’idée du montage général, c’est ça :
[align=center][/align]

Simple, il suffit d’ouvrir le boitier Icy Box et d’y installer les deux disques durs suivant le schéma et les photos ci-dessous :

Notez que le tournevis et les vis pour monter les disques durs sont fournis dans le packaging de l’Icy Box :

Donc on dévisse pour y installer les disques durs :

On tire le boitier :

On y insère les deux disques :



On bloque les disques par le côté à l’aide des vis fournies dans le boitier Icy Box :

Ensuite, le plus important : il faut bien positionner les commutateurs (en blanc sur fond rouge) en position RAID1 :

Note : Il faut que les disques soient partitionnés sous format ext4. Souvent les disques neufs ne contiennent aucune partition, il faut donc Créer une nouvelle table de partition (appelé aussi « volume »), puis formater tout le disque en format ext4.

Des logiciels permettent facilement cela :
[list]
[] Pour ceux qui ont Windows, le logiciel MiniTool partition wizard : https://www.partitionwizard.com/help/create-volume.html
[
] Pour ceux qui ont Linux, l’incontournable GParted fait très bien cela : https://www.youtube.com/watch?v=nYN7roNQ2O4
[/list]

Ensuite, il suffit de faire les connexions :
[list]
[] Connecter le boitier Icy Box au Raspberry pi sur un des ports USB.
[
] Connecter l’adaptateur Ethernet/USB 3 sur un port USB du Raspberry pi.
[*] Connecter le port RJ45 de l’adaptateur à votre box Internet.
[/list]

Voilà pour la partie matérielle. Notez la compacité des 2 boitiers :
[align=center][/align]
[hr]
En ce qui concerne la partie logicielle, on installe Nextcloupi (voir lien plus haut) sur la carte micro SD. Pour cela, on peut par exemple utiliser le logiciel Etcher .
[align=center][/align]

Une fois Nextcloudpi installé, on insère la carte SD dans le Raspberry pi.
Là théoriquement, tout est fonctionnel. Maintenant, on va juste paramétrer le stockage.
[hr]
[color=#1E90FF]4. CONFIGURATION : [/color]

Il faut savoir que Nextcloudpi enregistre par défaut vos données dans la carte microSD. On va donc modifier cela afin qu’il puisse les enregistrer directement dans les disques durs en RAID1.

Tout d’abord, connectez-vous depuis votre ordinateur habituel à l’adresse suivante :
http://www.mon-ip.com/

Ce site vous informe sur votre adresse IP Publique (dans la partie « Votre adresse IP est : [color=#FF0000]IPpublique[/color] », où la partie en rouge correspond à des chiffres séparés par des points).

Cette adresse IP sert à vous connecter depuis n’importe où à votre routeur internet. On va donc l’utiliser pour se connecter au panneau de configuration de notre Nextcloudpi en allant à l’adresse suivante (où il faudra remplacer la partie en rouge par la référence de votre adresse IP publique) :
https://[color=#FF0000]IPpublique[/color]:4443

Une page vous alertant que le certificat n’est pas sécurisé va apparaitre. C’est normal, vous pouvez donc cliquer sur continuer/ajouter une exception.

Si vos identifiants sont demandés, entrez ceux-ci par défaut :
[list]
[] Identifiant : admin
[
] Mot de passe : ownyourbits
[/list]

Je vous conseille ensuite de les changer via le panneau de configuration afin de garder votre confidentialité.

Et c’est donc là que l’on va changer l’endroit où l’on veut stocker les données. Sur la colonne de gauche, cliquer sur :
[list]
[] nc-automount puis yes. Validez.
[
] Ensuite, cliquer sur la colonne de gauche sur : nc-datadir et entrer l’information suivante : /media/USBdrive/ncdata .
[*] Validez en cliquant sur Run. Et c’est tout !!!
[/list]
[hr]
[color=#1E90FF]5. COMMENT ACCEDER A VOTRE NEXTCLOUDPI AVEC VOS APPAREILS (ordinateurs, smartphones, tablettes) : [/color]

Depuis le web :

https://[color=#FF0000]IPpublique[/color]:443 (ATTENTION : seuls les fichiers < 2GB sont transférables depuis la fenêtre web. Si un fichier est volumineux, mieux vaut utiliser le Client, voir ci-dessous).

Depuis l’ordinateur (“Desktop Client”) :

Télécharger le client Desktop approprié (Linux/PC/Mac) sur https://nextcloud.com/install/#install-clients
Une fois installé, cliquer sur l’icône, puis il suffit d’y renseigner votre adresse : https://[color=#FF0000]IPpublique[/color]:443 et de terminer la procédure de réglage. Un dossier Nextcloud devrait s’ajouter aux favoris de votre explorateur. Il suffit d’ouvrir l’explorateur pour y faire transiter vos dossiers/fichiers.

Depuis le smartphone :

Je ne connais qu’Android, je vais donc parler de ce cas de figure. Tout d’abord installer sur votre smartphone ces 3 applications :
[list]
[] Nextcloud
[
] DAVdroid (payant sur le Playstore, mais gratuit sur F-Droid, un market alternatif open-source et sécurisé)
[*] OpenTasks
[/list]

Ensuite, il faut ouvrir DAVdroid et configurer comme suit :
[list]
[] Chemin CalDAV/CardDAV (ou CalDAV/CardDAV path): https://IPpublique/nextcloud/remote.php/dav/
[
] User name / password: les mêmes que votre Nextcloud
[/list]

Ainsi en ouvrant votre application Nextcloud, vous y retrouverez tous vos documents synchronisés. Vous pourrez aussi synchroniser vos contacts et votre agenda facilement. En ce qui me concerne, je n’ai plus rien chez Google et je me sens mieux.

Bonjour et merci pour ce super tuto, c’est très intéressant!
J’avais une question, la photo du boitier montrant la configuration des jumpers pour le mode RAID1 est configuré… sur RAID0 soit du stripping sans aucune sécurité il me semble!

Les personnes chez Orange n’ont pas d’adresse IP fixe, il leur faudra je pense ajouter un module no-ip ou équivalent pour avoir un nom DNS dynamique.

++

Jaycee

Bonjour et bravo pour ce tuto
Voilà une belle solution de sauvegarde.
Cependant, je me pose la question de l’alimentation.
Chaque équipement (Rasp et disques) a sa propre alimentation ou bien pensez vous qu’il soit possible d’alimenter l’ensemble avec une alim unique, et dans ce cas en plus des 5v / 2.5 A du rasp combien pour les disques Raid ?
D’avance merci

Oulaaa… je crois que tu as raison… ce qui veut dire que je suis en RAID 0 depuis le début ! J’ai cherché sur le manuel d’utilisation et il n’est pas indiqué si le commutateur est représenté en noir ou en blanc. Si t’as une confirmation, n’hésite pas stp, je vais contacter Icy Box en espérant un retour rapide.

[color=#006400]EDIT : j’ai confirmé sur le manuel (il fallait lire la partie anglaise) :
Set the RAID switch and select your preferred RAID mode (white colour shows the switch position)
=> donc le blanc représente les commutateurs, et donc la photo est correcte si l’on veut configurer un RAID 1. [/color]

[hr]

Bonjour mc11, merci pour tes compliments. Je confirme que chaque appareil (Raspberry & Icy Box) ont chacun leur propre câble d’alimentation :

  • Pour le Raspberry, c’est une alimentation 5V et 3A
  • Pour l’Icy Box, l’alimentation livrée est de 5V et 1,5A

Bien joué! Cela fait un peu peur si on ne lit pas, comme dit le poète, RTFM :slight_smile:

Pour le DNS dynamic j’ai trouvé cet article intéressant DDNS

Merci pour l’article et le temps passé!

Coucou !

Tout d’abord, merci pour ce tutoriel, qui m’a fait ressortir mon raspberry Pi2 et acquérir le Pi3.

Je pense qu’il serait très utile de compléter ton tutoriel pour rendre la solution bien plus exploitable au quotidien, et je propose les améliorations suivantes :

1- installation de NextCloud sur le disque dur, et non sur une carte SD
→ pourquoi ?
a- on réduit les coûts (pas besoin d’acheter de carte SD)
b- on améliore [b]très /b significativement la réactivité du système
c- on en profitera pour mettre à jour le firmware du Raspberry 3

2- proposer un autre boitier pour RAID externe : celui-ci
→ pourquoi ?
a- il est moins cher
b- il peut fonctionner sans bloc d’alimentation supplémentaire, selon les modèles de disques employés

3- important : insister, après l’installation, sur la mise à jour de la distribution et du système via les commandes : apt-get update && apt-get upgrade && apt-get dist-upgrade
→ pourquoi ? cela permet de s’assurer de disposer de la distribution la plus récente.

4- usage : il serait utile de détailler un peu les DNS dynamique, car la distribution NextCloudPi l’intègre directement au travers de deux services.
→ pourquoi ? Utile pour ceux qui sont chez un opérateur… qui n’attribue pas d’IP fixe.

Si tu le souhaites, je peux détailler ces points, je pense que ça vaut le coup/coût :slight_smile:

Cher Jaycee, Grrr,

Merci beaucoup pour vos compliments, cela fait très plaisir de les lire, pour être franc, je me suis lancé dans ce tuto un peu en mode tête brûlée, en solo, avec comme base informatique RIEN. Voir autant de retours positifs ou non sur l’article de Pierre m’a procuré une grande satisfaction.

Je trouve vos idées de correction très riches et utiles, je n’excuse de ne pas avoir mis a jour mon tuto, je vais tenter de le faire. En revanche, je comprends rien au DNS, si ce n’est que cela permet de se connecter depuis l’extérieur a son Raspberry même si on IP publique change.

D’ailleurs, je voulais intégrer une rubrique DNS avec le seul service open-source que j’ai pu trouver, mais j’ai pas bien compris comment configurer le service.
Si vous arrivez a me pondre un truc simple, n’hésitez pas !
Encore merci pour l’intérêt que vous portez a mon tuto, mais aussi a la liberté de pouvoir contrôler ses propres données. Cela ne devrait pas être compliqué et si on peut aider a cela, alors on aura ajouté une pierre a l’édifice.

salut, comme service bien implanté sous linux y a ddclient

pour le domaine j’utilise dottk ça vaut ce que ça vaux mais “chez moi ça marche” © ^^

ici une solution en passant par cloudflare
https://discourse.osmc.tv/t/howto-free-tk-domain-name-that-always-points-to-your-pi/14083

j’utilise aussi l’API de free mobile via une tâche cron pour m’envoyer régulièrement mon ip publique par sms