Table des matières

NAS Aoostar R1 N100

Photo de l'Aoostar R1 N100. Le couvecle du dessus est retiré, et les disques à moitié sortis.

TL;DR: C'est un petit NAS compact, abordable et très capable, impeccable pour se faire un cloud perso (NextCloud), un serveur de vidéos (Jellyfin) et même plus.

J'ai mis en place un NAS derrière ma box pour une utilisation personnelle (pour remplacer un Raspberry Pi 3B qui marchait très bien mais limité en débit et en capacité de stockage.)


Matériel : Aoostar R1 N100

Photo de l'arrière de l'Aoostar N1, montrant les différents connecteurs. Ce NAS existe aussi avec un processeur plus puissant (AMD Ryzen) et aussi avec plus de RAM et un nvme plus gros, mais le N100 est largement suffisant pour ce que je veux faire (et il consomme moins). La version que j'ai contient 16 Go de RAM et un nvme de 500 Go.

Le format du NAS est très compact, ce qui est avantageux. La carte mère et les disques sont placés verticalement, avec une évacuation de la chaleur par le dessus. Je trouve le design assez intelligent.

La connectique est vraiment excellente : 1 port alimentation (fournie), 2xUSB2, 2xUSB3 , 1xUSB-C, 1 HDMI, 1 DisplayPort, 1 jack audio, 1 port carte TF, 2 ports Ethernet 2,5 Gbits et Wifi 6 (avec 2 antennes internes). L'alimentation se fait avec un bloc fourni, mais il peut aussi être alimenté par le port USB-C. On peut virtuellement en faire n'importe quoi, un routeur, un media-center (par exemple avec Jellyfin) ou un serveur Minecraft. Mais ses deux emplacements 3,5 pouces (qui acceptent aussi les 2,5 pouces) en font naturellement un bon candidat pour un NAS.

Consommation électrique (mesurée avec Wattmètre):

Remarques diverses sur le matériel:


Système d'exploitation

Copie d'écran du logiciel dietpi-software montrant une partie des logiciels installable en un clic : NextCloud, Gitea, phpBB, Wordpress, FreshRSS, Syncthing, serveurs Minecraft, Docker Compose... Mon choix s'est porté sur DietPi. Mes motivations:


Notes en vrac

Je pose ici des idées en vrac:


Checklist d'installation

Cette checklist d'installation est personnelle et pourrait ne pas correspondre à tous les cas d'usage.

Préambule à l'installation de DietPi

Si vous ne connaissez pas DietPi, LISEZ, C'EST IMPORTANT. (Même si vous connaissez Debian.)

DietPi est certes une Debian, mais il a quelques particularités:

Installation du système

Installation/configurations complémentaires

Installation de NextCloud

Si vous voulez changer la page d'accueil de votre serveur web, c'est dans /var/www/index.html.

Création d'un certificat Let's Encrypt et passage à https

DietPi aura installé le certificat dans votre serveur web. Essayez maintenant d'accéder à votre NextCloud en https.

Le certificat expire au bout de 3 mois. Pour ne pas oublier de le renouveler : sudo dietpi-banner et cochez Let's Encrypt cert status ce qui vous permettra de voir la date d'expiration du certificat chaque fois que vous ouvrez une session terminal sur le NAS.

Pour renouveller le certificat les fois suivantes, relancez dietpi-letsencrypt et faites just Apply (pensez à désactiver temporairement le firewall et ouvrir le port 80 à chaque fois).

Mise en place des backups

DietPi possède son propre outils de backup du système. Cela permet de restaurer le système si vous merdez la config de vos services.

Cela ne sauvegarde pas les données utilisateur (par exemple les fichiers que vous avez stocké dans NextCloud). Les données utilisateur sont stockées dans /mnt/dietpi_userdata.

Par défaut les backups se font sur le même disque dans /mnt/dietpi-backup mais rien ne vous empêche de le faire sur un autre support.

Notez que le fait de lancer un backup arrête les services (sauf le serveur ssh).

Installation de miniDLNA

MiniDLNA permet aux périphériques situés sur le réseau local (PC, smartphones, tablettes, TV connectées, boitiers AndroidTV…) d'accéder facilement à la bibliothèque de vidéos, musiques et photos. VLC est typiquement efficace pour ce genre de tâche. Quant aux télévisions connectés, la plupart supportent DLNA même si ce n'est pas marqué dans les spécifications.

MiniDLNA est simple à configurer, mais si vous avez un périphérique évolué (PC Windows/Linux ou Android), préférez Jellyfin qui est beaucoup plus agréable (même s'il nécessite un peu plus de préparation).

Dans DietPi il y a un serveur DLNA assez facile à installer. Passez par sudo dietpi-software et installez le package ReadyMedia/MiniDLNA.

J'ai modifié le fichier de configuration pour indiquer à MiniDLNA quels répertoires scanner. Modifiez le fichier /etc/minidlna.conf :

# V=répertoire contenant des vidéos, à scanner (A pour audio, P pour photos)
media_dir=V,/mnt/hdd0/public/Films
media_dir=V,/mnt/hdd0/public/Séries

# Nom à afficher sur les clients DLNA
friendly_name=NAS DLNA

puis faites:

sudo systemctl restart minidlna

Installation de Jellyfin

Jellyfin est en quelques sorte votre Netflix privé: Il vous permet de parcourir votre collection de films et séries de manière confortable et de les visionner. Soit via l'application web, soit via les applications Android ou GoogleTV.

Déposez juste votre fichier Une vie (2023).mkv et Jellyfin va chercher automatiquement l'affiche et la fiche du film. Parcourir ses séries sur Android.

Installation de Jellyfin

Installez Jellyfin via dietpi-sofware. Le compte à utiliser pour se connecter est admin avec le mot de passe général DietPi (que vous pouvez ensuite changer). Jellyfin est alors accessible via http://<adresseIP>:8097/

Passage en https

Notez que l'accès est en http (non chiffré) ce qui n'est pas l'idéal sur internet. Même si Jellyfin possède une option pour supporter https, il vaut mieux mettre en place un reverse-proxy. La documentation de Jellyfin pour vous guider. Si vous utilisez Apache, ce n'est pas très compliqué. Voici un exemple:

Transcodage

Quand un client (ordinateur, smartphone) veut regarder une vidéo mais qu'il ne supporte pas l'encodage audio ou vidéo du fichier, Jellyfin va transcoder (décoder et ré-encoder) automatiquement la vidéo dans un format supporté. Certains CPU et GPU ont des fonctionnalité d'encodage matériel pour être plus efficace. Jellyfin sait les utiliser.

Pour le paramétrer dans Jellyfin pour l'Aoostar avec processeur Intel N100 : Avec le compte admninistrateur, allez dans Tableau de bord > Lecture > Transcodage:

Organiser ses médias dans Jellyfin

Jellyfin a sa façon d'organiser les médias, et il vaut mieux s'y conformer pour simplifier les choses. Par exemple si vous nommez bien vos vidéos, Jelly ira de lui-même chercher l'affiche du film et sa fiche détaillée (casting, réalisateurs…). Si vous ne nommez pas bien les fichiers, cela va considérablement compliquer la suite (médiathèques, collections…).

Les clients web et Android de Jellyfin sont capables malgré tout de faire de la navigation par répertoires, mais pas le client GoogleTV. Pour avoir le moins d'ennuis possibles, préférez l'utilisation des collections à la navigation par répertoires. C'est avec les collections en tête qu'a été conçu Jellyfin. De plus Jellyfin permet d'avoir un habillage des collections (images, fonds d'écran, description de l'univers de la collection…).
Jellyfin (et l'extension TMDb Box Sets) a groupé les films d'Hannibal Lecter (version web)
Sur la version GoogleTV de Jellyfin, les films apparaissent également groupés.
En les y plaçant manuellement, on peut afficher des séries dans une collection de films. Ici, les séries StarWars affichées dans la collection de films StarWars.

Gestion des logs dans DietPi

Afin de minimiser les écritures disque et maximiser la performance des applications, par défaut les logs (dans /var/log) sont écrits en mémoire et purgés chaque heure.

Il est possible de revenir au comportement habituel en lançant sudo dietpi-software, dans la section Log System et en choisissant Full. Pensez à sélectioner Install après avoir validé "Full".

Notez que même comme cela, vous devrez ajouter des lignes dans les fichiers de config Apache pour qu'il relog des choses.

FIXME mettre un exemple de config Apache pour les logs.

Surveillance du NAS

J'ai installé Monit.

Notez que dans dietpi-services j'ai demandé à DietPi de gérer aussi le service Monit : Cela lui permet d'arrêter proprement Monit lors des opérations de mises à jour ou backup (Cela évite que Monit me redémarre Apache alors que je suis en train de faire un backup).