Le Docker Synology

A Quoi ça Sert ?

Le Docker Synology sert à faire tourner des applications linux généralement non disponibles dans le centre de paquets, certaines ont un GUI (Graphical User Interface : Interface Graphique) via le Web : accessible avec navigateur, elles ont généralement des fenêtres disposées exactement comme l'application pour PC au point ou à part la barre supérieure du navigateur, qu'on peut faire disparaître en plein écran, vous vous retrouvez absolument comme si vous aviez lancé directement le programme sur votre PC.
D'autres malheureusement comme 7zip ne sont qu'en ligne de commande, heureusement, avec 7zip, il n'y a que trois fois rien à taper.

Intérêt

Sauf que cela tourne sur votre NAS qui tourne lui H24 ! L'intérêt n'est pas tant d'utiliser les mêmes applications que sur votre PC, mais de les utiliser "en tache de fond" sans être obligé de laisser le PC allumé et sur des fichiers présents sur votre NAS, et ceci même à distance (interface Web ou via DSM).

Principe

Le Docker crée des espaces protégés pour chaque appli, c'est un peu l'équivalent des logiciels portables en bac à sable, vous n'avez donc pas de fichiers communs et si vous supprimez une appli, tout est propre.
Par défaut, le dossier partagé de travail sera le dossier "docker".

Exemples

JDownloader 2 : pour remplacer Download Station et ses Hosts non mis à jour / abscents ...
HandBrake : pour recompresser (y compris en h265) des vidéos trop grosses
MKVtoolnix pour mixer / remixer des flux vidéo (video-audio-s/titre/chapitrage)
Déziper des archives non compatibles avec le dézipeur intégré dans File Station.
...

Installation

Aller dans le centre de paquet, installer "Container Manager", ou "Docker" sous les anciennes versions.
Vous avez 3 menus qui nous interresseront : On va commencer avec une appli en ligne de commande (parce qu'il n'existe pas de GUI) : 7zip

7zip

l'intérêt ici, on l'a vu, c'est de dézipper toutes les archives non reconnues par le dézippeur intégré (7zip pourtant) dans File Station : zip64 notamment (non limité à 4Go).
Il doit tourner sous un environnement Linux, donc soit directement en SSH, soit, puisqu'on est sous Docker, plus sur (pas de fausses manoeuvres possibles dans DSM), avec un petit noyeau Linux, minuscule : Alpine.

Alpine

Dans le registre, recherchez "alpine" et téléchargez le.
on va le lancer (éxécuter dans Container Manager), pour cela il va falloir renseigner :
nom alpine
cochez : privilège élevé et redémarrage auto
volume :
/docker /data lecture écriture (pas de lecture seule)
et laissez le reste par défaut.

Il va falloir accéder à la ligne de commande : dans Conteneur maintenant (vérifiez qu'il est actif)
Soit dans "détails" pour les anciennes versions
Soit dans le menu contextuel
On doit voir un curseur clignoter après un dossier, sinon :
- choisir bash
- Ou cliquez sur créer (petit +) et choisir sh
Quelques commandes Linux utiles :
se déplacer dans les dossiers : / pour la racine, /XXX pour un dossier de la racine, cd .. pour le dossier parent, cd XXX pour le dossier enfant.
ls pour liste le contenu d'un dossier, ls */ pour ne lister que les dossiers
rechercher : find -name "recherche"
F3 pour recopier la commande précédente
Collage : à la souris, bouton droit
NB : si on a une url ou un nom de fichier contenant des espaces, mettez des parenthèses !

Installer 7zip

apk add 7zip

Utiliser 7zip

Dans File Station : déplacez l'archive dans le dossier docker, éventuellement, changez le nom pour faire court (archive.zip ou même a.zip)
Puis dans le Docker et dans l'interface de la ligne de commande, positionnez-vous dans le dossier Docker
cd /data (dans la configuration on a lié le dossier docker au dossier linux data)
puis extraire :
7zz x "nom de l'archive"
Attendre le message Everything is Ok et le retour du symbole #
C'est tout, vous pouvez fermer la ligne de commande / le Docker et aller récupérer le résultat dans le dossier docker avec File Station.

Prérequis à l'installation d'applis avec GUI

généralités : Comme on va accéder à l'interface Web avec notre navigateur, il va falloir rediriger des ports (Box Internet), au lieu de le faire un par un, autant rediriger une plage tout de suite, par exemple pour 5 applis. La plupart pourront directement être configurées avec un mot de passe, cela évitera de les désactiver quand on a fini de s'en servir, ou de devoir s'échiner avec des solutions tierces et compliquées. Pour se faire, je ne saurais trop conseiller un utilitaire de mot de passe plutôt que d'utiliser celui de votre navigateur, moins sécurisé et moins performants : par exemple Bitwarden, gratuit (il peut utiliser la reconnaissance d'empreinte pour ne pas à avoir à taper un mot de passe principal forcément tarabiscoté puisque il contrôle tous les autres : dispo pour tous les navigateurs de n'importe quel OS).
On peut aussi vouloir accéder aux applications en mode sécurisé, dans ce cas on utilisera un reverse proxy et on redirigera de même une plage pour. L'avantage est de ne pas subir de restrictions, notamment pour les copier coller, sinon, en cas de souci, il va falloir autoriser le presse papier sur le navigateur.

Configuration de la Box Internet

DHCP

On doit diriger ces ports vers votre NAS : Il peut être identifié facilement si vous l'avez entré dans la configuration DHCP (lier un port LOCAL à un matériel donné), si ce n'est pas fait, faites le :
Dans la configuration avancée, rechercher DHCP ou Adresse IP Statique
répérez votre NAS, son port local (192.168.1.XX) et son adresse MAC dans la liste des IP dynamiques
au début de la liste des IP statiques faire "ajouter" puis entrez : le nom de votre NAS, son port local, son adresse MAC (menu déroulant) comme repéré précedemment.

Redirection de ports

Vous avez déjà du libérer le port 5000 / 5001 pour l'accès à DSM, donc vous avez d'une part accédé à votre interface (généralement 192.168.1.1 mais pas toujours, voir avec vos infos FAI) et trouvé le menu concernant la redirection de port, parfois appelé NAT/PAT, dans la configuration avancée de votre Box.
Dans la section NAT/PAT, redirection de port, faites ajouter et entrez : le nom des redirections, ici Docker, les plages de ports internes et externes, donc par exemple 5800-5804 pour prévoir 5 applis avec interface graphique, le protocole TCP et enfin le nom de votre NAS.
Si vous voulez utiliser l'accès sécurisé, faites de même avec les ports 5900-5904 (Docker-s).
Vous pouvez en profiter, si vous voyez 2 entrées pour les ports 5000 et 5001 pour les supprimer et les remplacer par la plage 5000-5001.
NB : pour certaines box, il faut juste indiquer le port de départ en entrée et la plage en sortie, la configutation indiquera bien une plage d'entrée et une plage de sortie identique.
Tout est presque prêt, si vous avez des difficultés de copier/coller avec les applis GUI du Docker, il y a un onglet avec trois petits points sur la gauche de votre navigateur pour faire sortir la fenêtre du presse papier, si vous ne le voyez pas, cherchez la prise en compte du presse papier dans les paramètres de votre navigateur (si vous ne trouvez pas, cherchez google ou demandez à une IA de vous aider, : tout dépend de votre navigateur et de sa version). Cet onglet est une étape intermédaire de copier / coller
Ou si vous préférez l'accès sécurisé, sans restrictions :
Il ne reste qu'à configurer le reverse proxy (cherchez proxy inversé avec la barre de recherche dans le panneau de configuration DSM) sur votre NAS : indiquez les url source et appelées, exemple :
exemple : https - monNAS.synology.me - 5902 puis http - monNAS.synology.me - 5802
SI vous voulez installer 3 applis GUI, créez en 3 ! de 00 à 02.

NB=> Ce sont des préparations, il ne sera pas utile d'y retourner sauf si vous installez plus d'applis que de ports configurés ! Si vous prenez la peine de faire ces configurations, vos applis seront directement accessibles dès leur configuration terminées ! (ce qu'on verra une par une). Vous pourrez même faire des raccouris sur votre bureau Windows par exemple, je vous joindrais les icônes de ces applis à la fin de cette page pour personnaliser vos raccourcis. Ci dessous donc, quelques applis avec GUI, chacune recevra un N° de port distinct ! par exemple 5802 appelé par https en 5902 si vous avez opté pour le reverse proxy, je remplacerai donc ce N° d'ordre par un X dans la configuration. Pour les appeler il suffira de faire un raccourci bureau avec l'adresse http en 580X ou https en 590X (adresse du NAS:port) selon la même url que vous utilisez pour accéder à DSM (à la place de 5000 ou 5001) : exemple https://MonNAS.synology.me:5902
Dernière chose : On ne peut pas changer les paramètres directement ! Une fois paramétré, la seule solution est de cloner après avoir arrêté le conteneur, la, on accèdera aux paramètres de l'ancien conteneur, qu'on pourra corriger, puis une fois fait, on pourra le tester et si tout va bien, on supprimera l'ancien. A chaque fois il faudra changer le nom donc pour revenir à l'ancien nom ... eh bien il faudra recfaire un clonage. Il n'y a pas de souci à répéter l'opération, comme déjà dit, les espaces protégés disparaissent totalement avec la suppression d'un conteneur ! pas de fichiers ou de dossiers poubelle venant polluer votre espace disque. Donc passer de Jdownloader à JD2 puis JD puis JDownloader est aussi propre que de configurer directement Jdownloader en une seule fois.

JDownloader 2

Pour oublier Download Station et ses hosts... bref, pour tout télécharger ! Seul MeTube sera plus efficace en ce qui concerne Youtube (Dailymotion...). Il existe (non nécessaire) une extension pour navigateur qui permet de lancer / contrôler un téléchargement (interface minimaliste). On ne va pas détailler son fonctionnement mais uniquement son installation : tout est à l'exact identique que sa version PC, que vous devez déjà connaître, sinon, je vous laisse la découvrir, à commencer par mettre l'interface en Français et d'y paramétrer d'éventuels Comptes Premium, vérifiez bien par contre le dossier par défaut ! (output)

Installation

On va aller dans le registre et rechercher jlesage/jdownloader-2 et le télécharger.
Puis dans Image pour le lancer (ou éxécurer dans Container Manager) et on va renseigner :
Laisser par défaut tout ce qui n'est pas renseigné ici !
Nom du conteneur (on l'a vu plus haut)
Cochez "activer le redémarrage auto" Paramètres de port :
580X 5800 TCP (le deuxième c'est le port du Docker par défaut, on peut avoir une appli en 5800)
PAS DE 5900 ! (inutile et surtout qu'on peut l'utiliser pour le reverse proxy)
Paramètres de volume
/docker (ou docker/video ou docker/jd2...) /output lecture écriture
(attention, dans la configuration de JD2, ce sera output le dossier de destination !) mais vous retrouverez vos fichiers dans docker ou docker/xxx selon ce que vous avez configuré ici.
Environnement
TZ Europe/Paris (ou votre zone)
LANG fr_FR.UTF-8
DISPLAY_WIDTH 1280 (ou 1920 selon votre écran : vérifiez la lisibilité !)
DISPLAY_HEIGHT 720 (id)
VNC_PASSWORD votre mot de passe
USER_ID 1000
GROUP_ID 100
Virez la ligne ou vous voyez 5900
Virez tout ce qui n'est pas renseigné ! en plusieurs fois s'il le faut !
Exécutez le conteneur et c'ets parti !
Ne reste plus qu'à tester (et configurer pour la première utilisation). Il y a (avait ?) un bug avec un double dossier lors d'un téléchargement, si c'est le cas, vérifiez dans les paramètres à Gestion de Paquets.
La mise à jour se fait comme avec la version PC (pour les autres container, c'est indiqué dans "image". NB : tous les conteneurs sont à peu près identiques à configurer, notamment s'ils sont de la même famille (jlesage par ex.) mais les dossiers linux par défaut peuvent changer de nom ! il peut y avoir aussi des dossiers de configuration à paramétrer, mais la règle générale, c'est de toujours, si disponible :
indiquer le port, la langue et la zone géographique, USER et GROUP ID, la définition à l'écran, le mot de passe. Les détails seront indiqués pour les autres exemples de conteneur.


CONTENU EN COURS DE REDACTION

Icones pour raccourcis

JDownloader 2 HandBrake MKVtoolnix MKVcleaver MeTube