Pourquoi j'utilise Docker au lieu d'installer des applications directement sur mon NAS
Installez-vous toujours des applications sur votre NAS à partir de l'App Store de votre fabricant? Il est temps de s'arrêter. Je ne fais confiance que Docker pour installer des applications sur mon NAS, au lieu d'utiliser un App Store natif. Pourquoi? Eh bien, il y a plusieurs raisons, et presque toutes se concentrent sur la sécurité.
Sommaire
Les conteneurs Docker n'ont accès qu'à ce que je leur laisse
L'un de mes attributs préférés de Docker est à quel point il peut être sécurisé. Avec un conteneur Docker, il n'a vraiment accès à ce que je lui accorde.
Si je veux garder les choses ultra-sécurisées, je peux demander à Docker de créer un volume séparé auquel le conteneur accède au stockage et rien d'autre ne peut le toucher (et il ne peut rien toucher d'autre). Ou, je pourrais choisir de monter un dossier (ou un fichier spécifique) du système d'exploitation au conteneur.
En rapport
Que fait Docker et quand devriez-vous l'utiliser?
Docker est un outil pour exécuter vos applications à l'intérieur des conteneurs.
Outre ce à quoi je donne un accès à un conteneur Docker, il est entièrement autonome. En fait, il ne peut même pas réseauter avec d'autres conteneurs Docker nativement, sauf si je crée un réseau pour plusieurs conteneurs à utiliser, spécifiez un autre adaptateur réseau ou utilise Docker Compose pour lancer plusieurs conteneurs à la fois.
Ce sont toutes d'excellentes fonctionnalités de sécurité que Docker offre, et cela rend simplement Docker plus sécurisé que de nombreux magasins d'applications. Par exemple, si vous installez une application à partir de l'App Store native de votre système NAS, il y a de fortes chances que l'application puisse accéder à tous vos fichiers et dossiers nativement. Si ce n'est pas à l'installation, une fois que vous lui accorderez l'accès à un dossier, il aura généralement accès à tous.
Ce n'est pas vrai pour chaque système NAS, mais beaucoup fonctionnent comme ça. De mon temps avec mes systèmes de synologie, c'est ainsi qu'ils fonctionnaient. Bien que ce ne soit pas un énorme inconvénient, c'est un risque de sécurité plus élevé que de séparer une application loin de tous les autres services de votre NAS.
La flexibilité de Docker bat les magasins d'applications natives à chaque fois
Étant donné qu'un conteneur Docker est une mini machine virtuelle en quelque sorte, ses capacités globales sont inégalées. Il est en fait possible d'exécuter un système d'exploitation complet dans Docker.
Cependant, la flexibilité de Docker vient de pouvoir construire vos propres conteneurs. Étant donné que les conteneurs Docker ne sont que des systèmes d'exploitation avec des services préinstallés et préconfigurés, vous pouvez construire le vôtre avec facilité.
Il y a quelques semaines, j'essayais de faire quelque chose de spécifique avec Calibre-Web, et cela ne fonctionnait tout simplement pas. Je me suis tourné vers mon fidèle compagnon HomeLab, Chatgpt, et j'ai commencé à travailler sur la construction d'un conteneur Docker Calibre-Web personnalisé avec des dépendances mises à jour (puisque le conteneur que j'utilisais était assez dépassé).
Avec l'aide de Chatgpt, j'ai pu construire un conteneur Docker qui avait les dépendances dont j'avais besoin et j'ai fonctionné comme je le voulais, même si le conteneur officiel Docker n'a pas offert ce dont j'avais besoin. Si j'étais coincé à l'aide d'un App Store natif, ce ne serait jamais une option.
Si une application devient obsolète ou inutilisable dans une boutique d'applications natives, vous n'avez tout simplement pas de chance. Avec Docker, il est facile de créer une nouvelle version mise à jour de toute application que j'essaie d'utiliser.
Une fois que vous avez appris Docker, tout le reste se sent maladroit
Une autre chose formidable à propos de Docker est que c'est la même chose sur chaque plate-forme, de Windows à Ubuntu en passant par Truenas. Une fois que vous avez appris Docker sur un système, vous avez appris Docker sur tous les systèmes, essentiellement. Bien sûr, il existe des différences (comme la cartographie des dossiers), mais la majorité de Docker est la même sur toutes les autres plateformes.
Cependant, les magasins d'applications natifs ne sont pas près de cet unification. L'App Store de Synology va varier considérablement des magasins Uilleen et Terra Master, par exemple.
Cependant, avec Docker, vous pouvez installer des plateformes de gestion qui le rendent aussi simple que ces autres magasins d'applications, mais unifiés sur tous les systèmes. Portainener est ma façon préférée de gérer Docker, et c'est honnêtement assez simple.
Je peux exécuter la même pile sur n'importe quel système avec Docker
Certaines applications ne sont pas disponibles sur toutes les plateformes. Ou, s'ils le sont, ils pourraient être obsolètes ou plus utilisables.
Avec Docker, ce n'est tout simplement pas un problème. Je peux prendre une pile (fichier docker compose) d'un serveur et le déplacer vers un autre, et je suis opérationnel. Je peux également simplement arrêter Docker sur un serveur, déplacer tous les fichiers vers un autre et démarrer Docker sur cet autre serveur.
La portabilité des conteneurs Docker les rend bien supérieurs aux applications des magasins natifs de tous les NAS.
Je fais plus confiance à Docker que la plupart des magasins d'applications
Il y a une confiance inhérente donnée à toute application que vous exécutez sur votre réseau, en particulier celle qui a accès aux fichiers de votre serveur de stockage. Lorsque vous utilisez un App Store de premier parti, il vous suffit de croire qu'il n'y a rien de néfaste avec le code dans l'application. Avec un conteneur Docker, vous pouvez (généralement) vérifier cela vous-même.
Avocant quelques services de source fermée qui peuvent s'exécuter dans un conteneur Docker, la plupart des services qui s'exécutent dans un conteneur sont open source. Cela signifie que vous pouvez parcourir et afficher tout le code qui va dans l'exécution de ce service sur votre ordinateur.
En rapport
Les magasins d'applications ne peuvent pas vous protéger des applications abusant de vos données
Les applications que vous obtenez dans une boutique d'applications ne sont pas nécessairement dignes de confiance.
Affichage et vérification du code qui exécute un conteneur signifie que vous pouvez vérifier exactement ce qui se passe lorsque vous installez un service. Où sont transmis vos données? Qui a accès? Que fait-il? Toutes ces informations sont généralement disponibles pour la plupart des conteneurs Docker.
Non seulement cela, mais les conteneurs Docker sont généralement plus à jour que les magasins d'applications première. Cela vient du fait que les entreprises et les services mettent à jour les conteneurs Docker eux-mêmes, au lieu de devoir compter sur une boutique d'applications de premier parti approuvant une mise à jour de l'application (ou même exigeant que l'application soit publiée par l'App Store lui-même).
J'espère que vous êtes convaincu d'utiliser Docker au lieu de tout autre magasin d'App sur votre NAS maintenant. Si vous ne faites que commencer avec Docker, voici 10 conteneurs qui, je pense, devraient fonctionner dans n'importe quelle maison. Ma liste est sûre de vous permettre de vous proposer et d'aider à relancer votre parcours Docker.
