Technos

Vos fichiers sur le réseau : Open Media Vault

Un NAS maison sur Raspberry Pi 5, des disques USB et Open Media Vault : mes films, mes séries et mes fichiers accessibles partout sur le réseau.

6 min de lecture commentaires

La page de connexion d'Open Media Vault, avec son logo et un disque dur ouvert en fond

Quand je vous parle des piliers de mon Homelab, il y en a un qui revient tout le temps sans que je vous l’aie jamais vraiment présenté : mon NAS. C’est le dernier gros chantier, et le voilà.

Un NAS, c’est quoi au juste

NAS, ça veut dire Network Attached Storage. En gros, un espace de stockage sur le réseau. Une machine allumée en permanence, avec des disques dedans, et tous tes autres appareils qui viennent lire et écrire dessus comme si c’était un dossier local.

Tu en trouves des tout faits, clé en main, chez Synology par exemple. J’en ai moi-même un vieux, mais il est là comme outil secondaire. Sauf que c’est aussi possible de s’en fabriquer un soi-même. Oui oui, avec un vieil ordi ou un Raspberry Pi.

Le mien : un Raspberry Pi 5 et une pile de disques USB

Moi j’en ai fait un avec un Raspberry Pi 5 et des disques durs externes. On peut lui associer une carte RAID, ou brancher des disques SATA en direct sur une machine qui a ce qu’il faut. Chez moi c’est juste des disques durs branchés en USB 3 sur un hub USB 3.

Plusieurs disques, c’est important. Par contre, pas de réplication. Je stocke des films, des séries, quelques données, des jeux. Rien d’irrécupérable, rien d’important. Pour ça j’ai justement mon vieux Synology, et un duplicata en ligne (je vous parlerai de Duplicati un jour).

Le but, c’est d’avoir plein de place disque, de stocker de façon plutôt fiable sans se prendre la tête, et que tout ça soit accessible sur le réseau. Rien de plus.

Et c’est là qu’arrive Open Media Vault

C’est l’outil NAS open source, facile et ouvert. Oui, c’est pas parfait. Des fois ça galère un peu. Mais ça marche, ça répond au besoin, et ça a une vraie interface web de gestion. C’est plutôt cool.

Le tableau de bord d'Open Media Vault : charge du processeur à 84,6 %, mémoire, températures des sept disques et remplissage des systèmes de fichiers
Un tableau de bord où on peut tout contrôler : la charge, la mémoire, la température de chaque disque et la place qu’il reste.

On parlera après de comment on l’installe sur un Raspberry Pi ou ailleurs. Mais en tout cas, une fois dedans, tu vois tes disques durs.

Disque, partition, dossier partagé

Tu formates tes disques comme il faut. Moi je les mets en ext4, mais je sais qu’on peut faire du BTRFS et d’autres choses. Ensuite tu montes tes partitions.

La liste des disques dans Open Media Vault : huit périphériques avec leur modèle, leur numéro de série, leur vendeur et leur capacité, de 59 Go à 10,91 To
Huit entrées : la carte SD du Pi, et sept disques externes, de 931 Go à 10,91 To. Tout ce qui est branché apparaît ici, avec son modèle et son numéro de série.

Après tu peux créer des dossiers partagés. Mais attention, ça, c’est juste pour les marquer prêts au partage pour les différents services. Le dossier partagé n’est pas encore partagé, il est juste déclaré.

Les services, c’est eux qui partagent vraiment

Et ces services, c’est quoi ? Eh bien ce n’est ni plus ni moins que Samba (la lalala) pour partager le dossier vers Windows, ou NFS pour tout ce qui est Linux ou Mac.

Mais aussi du FTP, que je ne vais pas forcément expliquer ici. Du Rsync pour synchroniser des données. Du SSH et du SFTP. Il y a des tonnes de services, et des plugins qu’on peut rajouter par dessus.

Et hop, tu as ton dossier partagé.

Le partage du NAS ouvert dans l'explorateur de fichiers du poste de travail : les dossiers Media, SeriesTV, FilmsHD, Animes, eBooks, Audiobooks et SeedBox
Vu depuis mon poste de travail, c’est un dossier réseau comme un autre. Sauf qu’il fait une quarantaine de téraoctets.

Pas parfait mais ça marche et c’est simple

Alors oui, c’est pas parfait, comme je disais. Je trouve parfois l’interface pas super pratique : il faut valider chaque changement, à chaque fois. Et la chaîne disque, puis partition montée, puis dossier partagé, puis service qui utilise ce dossier, ça peut paraître un peu rebutant au début.

Mais ça marche. Et une fois que c’est en place, à part rajouter un disque de temps en temps, on n’y touche plus trop. Surtout que même si je ne m’en sers pas, il y a du RAID physique ou logiciel, et plein d’options que je n’approche même pas. C’est vraiment complet.

L’installer

Sur une machine x86, il y a une image ISO toute faite. Tu la graves ou tu la mets sur une clé USB, tu démarres dessus, et c’est un installeur classique. Là on ne passe pas par Portainer, c’est trop intégré pour ça, mais on verra après qu’on lui met un Portainer dedans.

Pour un Raspberry Pi (un Pi 5 chez moi), tu installes Raspberry Pi OS Lite avec Imager. Lite, pas la version bureau : le script d’installation détecte l’environnement graphique et refuse tout net de continuer. Tu branches un câble réseau, tu mets à jour, et c’est parti :

sudo apt-get update
sudo apt-get upgrade -y
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/preinstall | sudo bash
sudo reboot

Puis, une fois redémarré, l’installation elle-même :

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Comptez jusqu’à une demi-heure, le Pi redémarre tout seul à la fin, et c’est bon sur http://adresse.ip.du.serveur avec admin / openmediavault. Pas très complexe.

Le preinstall, celui du premier bloc, ce n’est pas l’installeur, et il n’est pas obligatoire : l’installation passe très bien sans lui, le second script ne le réclame nulle part. Il fait deux choses. Il vire cloud-init, qui se bat avec Open Media Vault pour la configuration réseau. Et surtout il lit l’adresse MAC de ta carte réseau et fige le nom de l’interface sur eth0, une fois pour toutes.

C’est ce deuxième point qui vaut les trente secondes. Sur une machine sans écran ni clavier, une interface qui change de nom au redémarrage, c’est une machine que tu ne retrouves plus. Et tant qu’on y est, dans le même esprit : ne préconfigure pas le wifi et ne touche pas à raspi-config avant l’installation. Le câble réseau et rien d’autre, le script se débrouille avec le reste.

Pourquoi pas dans Docker, mais avec Portainer dedans

Un dernier point important. Open Media Vault, je ne le mets pas dans Docker, parce que c’est vraiment intégré à l’OS. C’est l’OS lui-même, en vrai. En plus il n’y a pas vraiment d’image Docker d’Open Media Vault, lol. Le script d’installation refuse même de démarrer s’il détecte qu’il tourne dans un conteneur, il te sort OMV does not work in Docker! et il s’arrête là. Comme Home Assistant, c’est l’autre exception à ma règle du tout-Portainer.

Mais ça ne veut pas dire qu’on ne peut pas mettre Portainer dans Open Media Vault. D’ailleurs c’est exactement ce que je fais. J’installe le module docker compose d’Open Media Vault, je crée un dossier partagé pour les fichiers dont Docker a besoin, et le seul compose que je lance avec, c’est Portainer.

Après, je passe dans Portainer lui-même. Je branche mes DNS avec Nginx Proxy Manager, et c’est tout.

Résultat : j’ai une machine NAS qui gère mes fichiers à distance, avec Portainer par dessus pour les applis externalisées, et en plus les services de fichiers d’Open Media Vault lui-même. Si ça vous intéresse, je vous parlerai de File Browser dans un autre article, celui-là permet de naviguer dans vos fichiers depuis une page web.

Le dernier morceau du puzzle

C’est le dernier gros chantier de mon Homelab. Avec lui, la boucle est bouclée : le NAS pour les fichiers, Jellyfin pour les médias, les DNS mappés avec Nginx Proxy Manager, et Portainer pour structurer les applications et leurs versions.

Comme je disais, il n’est pas parfait. Mais il fait vraiment bien le travail et il répond à tous les besoins.

SmeagolWorms4

Les nouveaux articles par mail

Un mail par article publié. Rien d'autre, et désinscription en un clic.

Commentaires

Chargement des commentaires…

    Laisser un commentaire

    Vérification anti-robot en cours…

    Jamais publié.