Centre de paquets et conteneurs
6 min · 10 rubriques
Le NAS fait tourner des applications — un serveur de films avec jaquettes, un cloud privé, le bloqueur de publicités de toute la maison —, chacune enfermée dans son conteneur, sans toucher au système. Le Centre de paquets les installe et les met à jour en un clic ; l’app Conteneurs montre la machinerie en dessous, pour quand il faut regarder.
| Si ce que tu veux, c’est… | Va à |
|---|---|
| Installer ta première application | Installer |
| 1058 apps testées une par une | Le catalogue |
| Changer le port ou les dossiers d’une app | Ports et dossiers |
| Retirer une app (et décider ce qui arrive à ses données) | Désinstaller |
| Voir pourquoi une app ne démarre pas | Conteneurs, journaux et console |
| Récupérer l’espace que Docker laisse derrière lui | Nettoyage |
Il faut un volume créé : les applications et leurs données vivent sur le volume (<pool>/apps/<application>/), jamais sur le disque du système — une app qui grossit ne peut pas laisser le NAS sans place pour se mettre à jour.
Installer
Choisis l’app dans le catalogue — par catégories ou en cherchant — puis « Installer ». Le téléchargement et le démarrage tournent comme une tâche avec progression ; à la fin, les apps avec une interface web ont le bouton « Ouvrir », qui t’amène sur leur écran. Chaque application garde ses affaires dans son dossier de données sur le volume : la réinstaller ou la mettre à jour ne touche pas à ce qui est enregistré.
« Mettre à jour » télécharge la nouvelle version de l’image et recrée le conteneur avec les mêmes réglages. Les données ne sont même pas regardées : elles sont dans leur dossier, hors du conteneur.
Le catalogue
Le catalogue contient 1058 applications, toutes d’autres développeurs, sélectionnées par nous et testées une par une : chaque recette est vraiment installée, sa page web est ouverte, et elle est retirée avant d’entrer. Elles ont leur catégorie, leur icône et une version fixe : une application ne change pas de version toute seule, et « Mettre à jour » la met à jour quand tu le demandes. Les recettes dirigent leurs données vers le dossier de données du NAS, donc la règle « tout sur le volume » est respectée pour toutes.
Ports et dossiers
Chaque app installée a son bouton « Ports et dossiers » :
- Ports : quel port du NAS mène à quel port à l’intérieur du conteneur. Si celui que propose la recette entre en conflit avec quelque chose à toi, on le change ici et l’app est recréée avec le nouveau.
- Dossiers : quels dossiers du NAS l’app voit de l’intérieur. C’est la façon de donner à un serveur de films ton dossier de Films, ou de permettre à une app de sauvegarde de voir ce qu’elle doit copier.
Pour ce que l’écran ne couvre pas, il y a la modification avancée : la recette complète (docker compose) et ses variables, modifiables telles quelles. Avec un filet de sécurité : en appliquant, les conteneurs sont recréés avec la nouvelle recette et, s’ils ne démarrent pas, la configuration précédente est restaurée toute seule — une erreur de syntaxe ne te laisse pas l’app morte.
Accélération vidéo
Si le NAS a une carte graphique intégrée (Intel ou AMD), Jellyfin et Plex peuvent l’utiliser pour convertir la vidéo sans charger le processeur : c’est la différence entre regarder un film et regarder une roue qui tourne. En les installant, l’interrupteur « Accélération vidéo » apparaît, et pour une app déjà installée, il est dans « Ports et dossiers ». C’est la seule chose du dispositif qu’une application peut recevoir : la carte graphique ; ni disques ni autres périphériques.
Une carte Nvidia
Si le NAS a une carte Nvidia, le même interrupteur fonctionne pour elle dès que trois conditions sont remplies : que le pilote soit chargé (/dev/nvidia0 existe ; il apparaît après l’avoir installé et redémarré, ou en exécutant nvidia-smi une fois), que le runtime de conteneurs de Nvidia soit installé, et que ce runtime soit déclaré dans Docker. C’est à faire une seule fois, depuis la console du NAS :
sudo apt install nvidia-driver nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Le paquet nvidia-driver est dans la section non-free de Debian et nvidia-container-toolkit dans le dépôt de Nvidia. Tant qu’ils ne sont pas là, l’option n’apparaît pas : le panneau ne la propose que quand il sait qu’elle va fonctionner.
Périphériques USB
Home Assistant avec un Zigbee ou un Z-Wave en USB a besoin de voir l’adaptateur. En l’installant, et dans « Ports et dossiers », les adaptateurs de port série branchés au NAS apparaissent avec leur nom ; coche celui que tu veux et l’application le trouve dans /dev/serial/by-id/…, un nom qui ne change pas quand on le rebranche. Seulement des ports série : un disque USB ou un autre périphérique restent hors de portée des applications.
Limites de mémoire et de CPU
Dans « Ports et dossiers » de chaque application installée, tu peux fixer combien de mémoire et de CPU elle peut utiliser au maximum. Sans limite, une application qui s’emballe (un indexeur de photos, une base de données mal réglée) dévore la mémoire du NAS et entraîne le panneau et les autres avec elle. Les paliers proposés sont ceux qui tiennent dans ton dispositif ; « Sans limite » les retire. Le changement redémarre l’application.
Désinstaller
« Désinstaller » arrête l’app et la retire de la liste, et le dit clairement : les données sont conservées sur le disque. La réinstaller demain la ramène avec toutes ses affaires. Si ce que tu veux, c’est récupérer l’espace, l’option supprimer aussi les données le fait vraiment — et si quelque chose ne pouvait pas être supprimé, elle le dit avec le nom et le motif, elle ne fait pas semblant que tout est propre —.
Conteneurs, journaux et console
L’app Conteneurs montre ce qui tourne vraiment : chaque conteneur avec son état, sa mémoire et son processeur.
- Journaux : la sortie du conteneur, avec recherche — c’est le premier endroit où regarder quand une app ne démarre pas ou se comporte bizarrement.
- Console : un terminal à l’intérieur du conteneur, pour le coup d’œil qu’aucun panneau ne peut donner.
- Arrêter, démarrer et redémarrer des conteneurs individuellement. Attention à supprimer le conteneur d’une application du Centre de paquets : ça ne la désinstalle pas — il sera recréé à la mise à jour —, ça la laisse seulement arrêtée. Pour la retirer vraiment, « Désinstaller » dans le Centre de paquets.
Nettoyage
Docker laisse derrière lui de vieilles images à chaque mise à jour, et elles occupent des gigaoctets que personne n’utilise. Le bouton de nettoyage les récupère : il supprime ce qu’aucun conteneur ne référence plus — images orphelines, couches isolées — et dit combien il a libéré. Les apps et leurs données ne sont pas touchées.
Comment ça s’intègre avec le reste
- Les données des apps sont des dossiers normaux du volume : elles entrent dans les sauvegardes et les instantanés comme tout le reste.
- Si le volume est détruit ou déplacé, le panneau replace Docker et te dit quelles apps il faut réinstaller : c’est expliqué dans Disques, disques de secours et réplications.
- Pour publier tes propres recettes dans le catalogue, il y a le guide d’administration.