Outils pour utilisateurs

Outils du site


nas

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.)

  • Utilisation:
    • Je me sers principalement de mon NAS pour mon cloud personnel (stockage de fichiers, accessible via navigateur, WebDav ou avec des applications Android comme FolderSync).
    • Pour stocker mon archive de films, séries, musiques, livres, BD et jeux vidéos que je veux conserver.
    • Pour regarder mes films et séries sur ma télé via mon boitier GoogleTV.
    • Je ne m'interdit pas de faire plus de choses plus tard (Serveur Minecraft, serveur de musique, etc.)
  • Matériel
    • J'ai pris un Aoostar R1 N100. C'est un petit NAS assez compacte avec deux baies 3,5 pouces. Il possède un CPU Intel N100 (suffisant pour ce que je veux faire), 16 Go de RAM et 512 Go de nvme. C'est à un prix tout à fait raisonnable.
      • Introuvable sur Amazon France, je l'ai acheté directement sur le site du fabricant. Il a été livré (assez rapidement) depuis l'Allemagne.
    • J'y ai installé un HDD 20 To SATA reconditionné (acheté sur serverpartdeals.com)
    • Note : Je ne voulais pas d'un NAS de type Synology ou QNap, car des sociétés vous imposent leur système d'exploitation et leurs applications. Là l'Aoostar est en fait un simple mini-PC, et permet de bidouiller ce qu'on veut (il est fourni avec un Windows 11 qu'on pourra aisément dégager).
  • Système d'exploitation
    • Le NAS est fourni avec Windows 11. Intile de vous dire que ça a vite dégagé.
    • OpenMediaVault : Le plugin WebDav ne permet de partager qu'un seul dossier. Je préfère largement plus la souplesse de NextCloud, mais l'installation de NextCloud dans OMV passe par docker et ça donne juste l'envie de se tirer une balle. Non merci.
    • J'utilise l'excellent DietPi (que j'utilisais déjà sur mon Raspberry). Non seulement cette distribution basée sur Debian est très optimisée et consomme très peu de resources, mais NextCloud s'installe avec une simple case à cocher, et plein d'autres services sont installables de la même manière très facilement.
    • YunoHost peut également être une très bonne solution.
  • Réseau
    • Le NAS est derrière ma box fibre dans laquelle j'ai ouvert les ports au besoin.
      • Je vous déconseille d'ouvrir les port 80 et 443 directement. Utilisez des ports non-standards.
    • Pour le nom de domaine, j'utilise le DNS dynamique gratuit Dynu. (En prime DietPi supporte directement Dynu.). Je peux donc accéder facilement à ma machine par NomMachine.mywire.org (Note: D'autres domaines sont également disponibles chez Dynu.)
    • La création et l'installation d'un certificat Let's Encrypt est très facile avec les outils fournis par DietPi (les instructions sont dans cette page).

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):

  • Éteint : 1,9 W.
  • Démarré, sans disque SATA connecté (donc juste avec le nvme interne) : 8 W.
  • Démarré, avec un HDD 4 To externe en USB en plus : 10 W.
  • Démarré, avec un HDD 20 To SATA interne:
    • Au calme: 16 W.
    • Lecture d'un film via Jellyfin (sans transcodage) : 16 W.
    • Lecture d'un film via Jellyfin (avec transcodage matériel, CPU à 44%) : 28,7 W
      • (Notez que le transcodage se fait par tranches, donc ce n'est pas 28,7 W tout le temps)
    • Copie d'un gros fichier du NAS vers une autre machine : 25 W.

Remarques diverses sur le matériel:

  • Je trouve la conception très bien à part une seule chose: Le ventilateur en dessous.
    • Le NAS a 2 ventilateur : Un ventirad sur le CPU (Celui-là est très silencieux, aucun problème). Et un ventilateur en dessous qui pousse l'air chaud vers le haut. Ce dernier est lamentable:
      • Il démarre même quand ce n'est pas nécessaire.
      • Il est assez "cheap" et bruyant.
    • Problème réglé en le remplaçant par un Noctua NF-A9x14 PWM. Certes c'est de la marque et un peu cher (20€), mais la qualité se paie. Maintenant:
      • Le Noctua ne démarre que quand nécessaire.
      • Même quand il tourne je ne l'entends pas. 😯 C'est juste incroyable.
      • Mon NAS est devenu parfaitement silencieux.
      • Non vraiment achetez du Noctua, la qualité de ces ventilateurs est juste incroyable.
    • Note: Contrairement à ce qu'on peut voir dans certaines vidéos, le ventilateur du dessous peut parfaitement être piloté par le BIOS (et donc ne tourner que quand nécessaire). Les réglages de seuil et vitessses sont accessibles dans le BIOS en SYS FAN2. C'est juste que le ventilateur fourni par défaut démarre immédiatement alors que ce n'est pas nécessaire.
    • J'ai réglé le ventilateur du dessous (SYS FAN2) dans le BIOS avec les réglages suivants:
      SYS Fan 2 Mode                    Automatic Mode
      Fan off temperature limit         30
      Fan start temperature limit       33
      Fan full speed temperature limit  90
      Fan start PWM                     64
      PWM SLOPE SETTING                 4 PWM
    • Et de cette manière la température du NAS ne dépasse jamais 52°C avec un HDD dedans (35°C au repos).
  • Le WOL (Wake-on-LAN) fonctionne sans problème.
  • Je n'ai pas testé le Wifi (contient une puce Wifi 6 avec 2 antennes).
  • Le BIOS possède une option intéressante. Vous pouvez choisir quoi faire quand le courant est coupé puis remis : S'allumer, rester éteint ou garder l'état antérieur. C'est pratique pour avoir un NAS qui redémarre tout seul en cas de coupure de courant.
  • Vous pouvez aussi le programmer pour qu'il s'allume à heure fixe.
  • Il a bien entendu fallu désactiver SecureBoot dans le BIOS pour installer Linux.
  • De manière assez intéressante, l'Intel N100 est capable de faire de l'encodage/décodage matériel de h264,h265(hevc),vp8,vp9,avc,jpeg et du décodage matériel d'AV1.
  • Conseil : N'activez pas l'option "Fast Boot" dans le BIOS. C'est un coup à ne plus pouvoir accéder aux options du BIOS.

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:

  • distribution minimaliste et très optimisée, orientée serveur (l'OS de base entier avec serveur ssh prend seulement 80 Mo de RAM !).
  • c'est solide et basé sur Debian.
  • ça peut démarrer en terminal ou sur une session graphique (au choix).
  • c'est adossé aux dépôt Debian : On peut donc installer ce qu'on veut (il y a même plusieurs environnements de bureau si vous le souhaitez).
  • dietpi-software permet d'installer et auto-configurer tout un tas de services. Exemple: Vous cochez NextCloud, et il vous installe NextCloud et tout le nécessaire (Apache, php, les libs php nécessaires à NextCloud, MariaDB, php-fpm et redis pour avoir de meilleures perfs et vous configure tout ça automatiquement pour que tout cela fonctionne ensemble). Rien à configurer à la main : Au bout de quelques minutes vous avez un NextCloud fonctionnel dans sa toute dernière version.
  • DietPi est stable. Cela fait quelques années que je le fais tourner sur mon Raspberry, je n'ai eu aucun soucis que ce soit dans la mises à jour des paquets ou lors des montées de version de DietPi.

Notes en vrac

Je pose ici des idées en vrac:

  • J'ai laissé le nvme interne (avec DietPi) en ext4, mais j'ai mis le HDD 20To en btrfs. Je préfère ce système car: 1) c'est l'un des rares systèmes de fichier à faire des checksum sur l'intégralité des données (ce que ne fait pas ext4). 2) Le système de pool permet de fusionner des disques (comme le fait LVM) ou de migrer les données d'un disque à l'autre tout en laissant le système tourner (système de "pool" en btrfs). Cela me sera utile plus tard si j'ajoute un second disque.
  • Idée à creuser : Comme le système d'exploitation ne prend pas beaucoup de place sur le nvme, il va rester plein de place. Je pourrais en utiliser une partie pour booster les performances du HDD: Je créé une partition btrfs sur le nvme, j'ajoute cette partition au pool btrfs, puis je demande à btrfs de stocker les méta-données préférentiellement sur le nvme (C'est possible depuis le noyau 6.1 de Linux a priori (à vérifier)). Les performances sont tellement bonnes depuis des mois que je ne vois pas l'intérêt pour le moment.
  • Concernant le serveur web, DietPi laisse le choix : Apache, NGinx ou Lighttpd. Je vous conseille de conserver le vénérable Apache pour une raison simple: La majorité des applications web (tel que NextCloud) sont fournies avec un fichier .htaccess pour sécuriser l'accès aux données, donc un fichier que seul Apache interprètera.
  • Contrairement à ce que dit une vidéo qui circule, le NAS démarre très bien même sans écran branché.
  • J'ai testé ce NAS branché à un moniteur portable Arzopa en USB-C, ça marche très bien.

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:

  • Comme il a été conçu à la base pour Raspberry et autres SBC, il est conçu pour réduire les écritures disques (Ramlog installé, /tmp en mémoire (tmpfs), etc.). En temps normal vous n'avez pas à vous en soucier, mais c'est à savoir.
  • Il est conseillé de faire certaines opérations dans les outils DietPi dédiés plutôt que directement dans le système comme vous le feriez dans une Debian standard. Cela permet à DietPi de mieux suivre les mises à jour et mieux répercuter les modification de configuration dans les services.
    • Par exemple, si vous installez un certificat Let's Encrypt, DietPi ira lui-même mettre à jour dans la configuration du serveur web (quel que soit le serveur web que vous avez choisi : Apache, nginx ou lighttpd).
    • Ou encore, lors de l'installation d'un nouveau service web, DietPi ira mettre à jour automatiquement les VirtualHosts du serveur web pour rendre le nouveau service accessible.
  • TOUS les outils DietPi sont accessibles en faisant sudo dietpi-launcher (ou en lançant directement l'outil dietpi-* souhaité). Exemple:
    • Quand vous cherchez à installer une application, cherchez d'abord dans dietpi-software.
    • Pour les services, c'est dietpi-services (qui permet à DietPi d'arrêter proprement les services lors de mises à jour ou de backup),
    • dietpi-drive_manager pour le montage des disques.
    • dietpi-cron pour choisir les heures d'exécution des cron.daily et autres cron.hourly.
  • DietPi possède un mot de passe global (différent du mot de passe des utilisateurs root et dietpi). Ce mot de passe est utilisé comme mot de passe par défaut quand vous installez de nouveaux services. (Il n'y a pas de SSO dans DietPi, contrairement à YunoHost.)
    • Changez ce mot de passe global n'impactera que les nouvelles installations.
  • Afin de séparer les données utilisateurs des logiciels et services eux-mêmes, les données utilisateurs des différentes applications (NextCloud, JellyFin, etc.) sont stockées dans /mnt/dietpi_userdata.
  • Mises à jour:
    • DietPi étant adossé aux dépôts Debian, il vous préviendra automatiquement qu'il y a un apt upgrade à faire quand vous vous connectez au terminal. (Vous pouvez bien entendu faire vous-même un apt update.)
    • De temps en temps (plusieurs fois par an), il y a une montée de version de DietPi lui-même. Vous serez également prévenu⋅e à la connexion et un simple dietpi-update fera l'affaire (N'ayez pas peur des avertissements, cela fait plusieurs années que je fais les dietpi-update sans problème.)

Installation du système

  • Connecter le NAS à internet par Ethernet.
  • Booter l'ISO de DietPi UEFI (DietPi_NativePC-UEFI-x86_64-Bookworm_Installer.iso) sur clé USB, Choisir le disque d'installation.
    • Si vous avez besoin d'accéder au BIOS pour changer l'ordre de démarrage, pressez de manière répétée ESC dès l'allumage.
  • Laisser faire l'installation, rebooter, se connecter avec root/dietpi et attendre la fin des mises à jour.
  • Se connecter une seconde fois.
  • Clavier : choisir "Generic 105-key PC" > Other > French > French - French (alt.) > Right Alt (AltGr) > Left Logo Key
  • Change global password ? > Yes > Entrer le mot de passe global > Confirmer une seconde fois.
  • Changer le mot de passe de root et dietpi > Oui > Entrer un nouveau mot de passe.
  • Désactiver serial/UART ? Yes.
  • SSH Server > Choisir "OpenSSH Server" au lieu de "DropBear"
  • Browse software > Cocher "MATE" > Confirm > Install > Ok > choisir Firefox et attendre la fin de l'installation.
  • Statistiques d'utilisation : 0:OPT OUT.
  • sudo dietpi-autostart : Choisir 16:LightDM login mask > Exit. (Ceci afin de pouvoir démarrer une session graphique distante avec DWService, et il faut un dummy plug branché sur l'HDMI. Si vous n'avez pas besoin de démarrer une session graphique distante, laissez l'autostart démarrer en mode terminal et lancez l'interface graphique au besoin en tant juste startx dans le terminal.)
  • reboot

Installation/configurations complémentaires

  • Terminal coloré: Dans votre fichier ~/.bashrc, décommentez les lignes suivantes:
    export LS_OPTIONS='--color=auto'
    eval "$(dircolors)"
    alias ls='ls $LS_OPTIONS'
    alias ll='ls $LS_OPTIONS -l'
    alias l='ls $LS_OPTIONS -lA'
  • sudo dietpi-config
    • > 6:Security options > Hostname > entrer "NomDeMaMachine"
    • > 7:Network options:Adapters > Wifi > désactiver.
  • Activation de TCP-BBR (améliore les débits TCP) : Dans /etc/sysctl.conf, ajouter :
    net.ipv4.tcp_congestion_control = bbr
    net.core.default_qdisc = fq
  • DNS Dynamique (via Dynu.com) : sudo dietpi-ddns > Dynu > entrer "NomDeMaMachine" > entrer le login/mdp Dynu > Apply
  • sudo apt install less man-db gdebi synaptic lsof gparted btrfs-progs pluma caja-actions caja-open-terminal caja-rename screen ncdu progress xz-utils
  • Rclone et yt-dlp installés via dietpi-software.
  • Installation manuelle de la dernière version de 7-Zip (celle des dépôts est trop ancienne):
  • Firewall:
    • sudo apt install ufw
    • Dans ~/ufw/, créer
      ufw-set.sh
      #!/usr/bin/env bash
      set -o errexit
      set -o nounset
      set -o pipefail
       
      if [[ $(id -u) -ne 0 ]] ; then echo "Ce script doit être lancé en root." ; exit 1 ; fi
       
      ufw reset
      ufw allow from 192.168.1.90 comment 'Pas de limite pour pour PC perso'
      ufw limit from 192.168.1.0/24 to any port 22 proto tcp comment 'sshd (limit)'
      ufw allow from 192.168.1.0/24 comment 'Trafic réseau local'
      ufw allow from any to any port 443 proto tcp comment 'Serveur web Apache/NextCloud'
      ufw allow from any to any port 9443 proto tcp comment 'Jellyfin https via Apache'
      ufw enable
    • sudo ./ufw-set.sh pour activer les règles.
    • Mettre en place le géoblocage pour limiter l'accès du NAS à la France.
    • Rebooter
    • Vérification que le géoblocage est actif:
      • sudo iptables –list ufw-before-input | grep allowed_country doit retourner une ligne:
        DROP       all  --  anywhere             anywhere             ! match-set allowed_country src
      • sudo ipset –list allowed_country | grep entries doit retourner une valeur aux alentours de 4000:
        Number of entries: 4033

Installation de NextCloud

  • sudo dietpi-software > Browse software > cocher NextCloud > Install > Choisir Apache.
  • Première connexion NextCloud : http://VotreAdresseIP/nextcloud, login admin/<mot de passe global DietPi>
  • Changer le mot de passe d'admin.
  • Applications NextCloud à installer/activer:
    • External storage support
    • Two-Factor TOTP Provider
  • Applications NextCloud à désactiver:
    • Dashboard
    • Collaborative tags
    • First run wizard
    • Nextcloud announcements
    • Recommendations
    • Related Resources
    • Share by mail
    • Usage survey
    • User status
    • Weather status
  • FIXME: Régler dans la mesure du possible les problèmes signalés par NextCloud dans la "Vue d'ensemble" (non détaillés ici).

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

  • Désactiver temporairement le firewall : sudo ufw disable
  • sudo dietpi-letsencrypt > accepter d'installer certbot, puis:
  • Domains : NomDeMaMachine.mywire.org (le nom de machine que vous avez réservé sur dynu.com)
  • Email : Mettez votre adresse email afin d'être prévenu⋅e avant l'expiration du certificat. (C'est optionnel.) (Let's Encrypt ne va plus exiger l'adresse email et va suspendre l'envoi des emails pour avertir de l'expiration des certificats)
  • Redirect : ON
  • Ouvrir le port 80 de la box vers le NAS.
  • Apply
  • Quand il a terminé, refermer le port 80 et réactiver ufw (sudo ufw enable)

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.
  • sudo dietpi-backup
  • Amount : mettre 10 (j'ai de la place)
  • Space check : ON
  • Faire le premier backup : Backup:Create

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
  • Vous pouvez vérifier que MiniDLNA est démarré (et son activité) en ouvrant : http://<votreAdresseIP>:8200 (Pressez F5 pour rafraîchir.)
  • Assurez-vous que l'utilisateur minidlna ait les droits d'accès au répertoire que vous lui demandez de scanner.
  • Notez que MiniDLNA va provoquer beaucoup d'activité disque et CPU à chaque démarrage du système pour scanner les médias.

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:

  • Créez le fichier /etc/apache2/sites-available/jellyfin.conf contenant (à adapter selon votre configuration) :
    Listen 9443
    <VirtualHost *:9443>
        ServerName monserveur.mywire.org
        DocumentRoot /usr/share/jellyfin/web
        ProxyPreserveHost On
     
        # Letsencrypt's certbot will place a file in this folder when updating/verifying certs
        # This line will tell apache to not to use the proxy for this folder.
        ProxyPass "/.well-known/" "!"
     
        # Tell Jellyfin to forward requests that came from TLS connections
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-Forwarded-Port "443"
     
        ProxyPass "/socket" "ws://127.0.0.1:8097/socket"
        ProxyPassReverse "/socket" "ws://127.0.0.1:8097/socket"
     
        ProxyPass "/" "http://127.0.0.1:8097/"
        ProxyPassReverse "/" "http://127.0.0.1:8097/"
     
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/monserveur.mywire.org/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/monserveur.mywire.org/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
        Protocols h2 http/1.1
     
        # Enable only strong encryption ciphers and prefer versions with Forward Secrecy
        SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
        SSLHonorCipherOrder on
     
        # Disable insecure SSL and TLS versions
        SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
     
        ErrorLog /var/log/apache2/jellyfin-error.log
        CustomLog /var/log/apache2/jellyfin-access.log combined
    </VirtualHost>
    • puis faites : sudo a2ensite jellyfin
    • sudo systemctl restart apache2
    • Vous devriez voir le port 9443 ouvert par Apache en tapant sudo ss -plantu | grep 9443
    • Vous pouvez alors accéder à Jellyfin en https: https://<adresseIP>:9443/
    • Vous pouvez maintenant configurer la redirection de ports dans votre Box si besoin.
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:

  • Accélération matérielle : Choisissez "Intel QuickSync (QSV)".
  • Appareil QSV : laissez vide.
  • Vous pouvez cocher dans Décodage matériel : H264, HEVC, VC1, VP8, VP9, AV1. (HEVC 10bits ? VP9 10 bits ?)
  • L'encodage utilisera toujours H264 par défaut, mais vous pouvez aussi cocher HEVC (l'intel N100 sait faire de l'encodage matériel pour HEVC(=H265)). Ne cochez pas AV1.
  • N'oubliez pas de cliquer sur le bouton "Sauvegarder" tout en bas de la page, puis redémarrez Jellyfin dans le tableau de bord.

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…).

  • Nommage des fichiers : Essayez de nommer les fichiers comme suit:
    • NomDuFilm (année).ext (exemple: Les Visiteurs (1993).mkv). Cela permettra à Jellyfin de retrouver facilement les informations du film.
    • ou encore mieux : NomDuFilm (année) [imdbid-ttXXXXXX].ext où XXXXXX est l'identifiant du film sur IMDB. Exemple: Les Visiteurs (1993) [imdbid-tt0108500].mkv.
  • Médiathèque:
    • Une médiathèque est un groupe de vidéos. Vous pouvez y ajouter un ou plusieurs répertoires : Toutes les vidéos de ces répertoires (et sous-répertoires) seront groupés dans la médiathèque.
      • Faites attention à sélectionner le bon type de médiathèque (Films, Séries…).
      • (Exemple: J'ai créé une médiathèque "Films", une autre "Animation", une "Émissions et reportages"… libre à vous de choisir.)
    • Vous pouvez sans problème organiser vos films dans des sous-répertoires, mais sachez que Jellyfin n'en tiendra pas compte : Quand un répertoire est ajouté à une médiathèque, tous les films sont mis à plat, sans hiérarchie. Il est nécessaire d'utiliser la fonction de collection de Jellyfin pour grouper les films (Rassurez-vous, il est possible de faire cela automatiquement).
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…).
  • Collections:
    • Afin que l'interface de Jellyfin affiche les collections, allez dans les paramètres > Médiathèques > Affichage > cochez la case "Grouper les films en collections"
    • Vous pouvez créer manuellement des collections et y mettre les films (Menu "…" sur un film > Ajouter à la collection): Cette collection apparaîtra alors comme un sous-dossier dans la navigation de la médiathèque. (Par exemple j'ai créé une collection "Louis de Funès" dans ma médiathèque "Films")
      • Notez que le fait de déplacer un film dans une collection ne déplace pas le fichier sur disque.
    • Il existe un plugin capable de créer automatiquement les collections et y déplacer les films: TMDb Box Sets
      • Pour activer ce plugin : Allez dans Paramètres > Catalogue et activez les extensions "TMDb" et "TMDb Box Sets". C'est cette dernière qui permet de grouper automatiquement les films. Une fois les plugins activés, redémarrez le serveur Jellyfin.
      • Pour grouper les films, après avoir ajouté les fichiers:
        • Faites un scan de la médiathèque : Paramètres > Tableau de bord > Cliquez sur le bouton "Actualiser toutes les médiathèques" et attendez un peu.
        • Puis allez dans "Mes extensions" (menu de gauche), cliquez sur "TMDb Box Sets" puis sur le bouton "Actualiser toutes les médiathèques" et attendez un peu.
        • Si Jellyfin a pu identifier correctement vos films, ils devraient maintenant être groupés. (Si ce n'est pas le cas, soit le film a mal été reconnu (➡️nommez correctement vos films et insérez l'identifiant imdb), soit aucune collection n'existe (➡️créez manuellement des collections et mettez-y vous-même les films)
        • Si le groupement fait par TMDb Box Sets ne vous plaît pas, vous pouvez bien entendu a posteriori déplacer un film d'une collection à l'autre.
        • Notez que par la suite, vous n'avez plus besoin d'aller sur l'extension pour lui demander de grouper: Elle s'activera et groupera les films automatiquement quand vous faites "Actualiser toutes les médiathèques"
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.
  • Séries : De préférence, incluez dans le nom du fichier la saison (exemple: S01) et l'épisode (E01).
    • Il n'est actuellement pas possible, dans Jellyfin, d'afficher les séries de manière groupée dans une médiathèque de type "séries" (par exemple pour grouper les multiples séries spin-off de The Walking Dead ou Star Wars).
    • Cependant, vous pouvez tout à fait ajouter les séries à une collection de films existants. Par exemple, ajoutez toutes les séries Star Wars à la saga de films StarWars. Cela vous permet, quand vous êtes dans la collection films, de voir également les séries correspondantes:
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).

nas.txt · Dernière modification : 2025/05/06 12:33 de sebsauvage