Comment je gère toute mon HomeLab sur Docker (et pourquoi tu devrais aussi)
Sommaire
Résumé
-
Les conteneurs Docker sont un système virtuel léger et autonome pour la gestion des services dans un espace et des ressources minimes.
-
Docker simplifie la configuration, la gestion, la mise à jour et la désinstallation d'une variété de services avec facilité.
-
Je gère plus de 30 services dans mon HomeLab, qui fonctionne pleinement sur Docker, montrant à quel point il est flexible et sa facilité d'utilisation.
En ce qui concerne les habitants, il y a beaucoup de services et d'applications que vous voudrez peut-être exécuter. Bien que l'installation individuellement soit une option, j'ai choisi d'emporter la route Docker à la place – et il n'y a pas de retour en arrière.
Qu'est-ce que Docker exactement?
Si vous n'avez jamais entendu parler de Docker auparavant, la façon la plus simple d'y penser est que c'est un tas de systèmes virtuels ultra-petits et légers qui s'exécutent dans un seul environnement.
En rapport
Docker pour les débutants: tout ce que vous devez savoir
Apprenez à utiliser cet outil de développement incroyablement populaire.
Les «systèmes virtuels» de Docker sont appelés conteneurs, et chacun n'est que l'essentiel nu de la distribution Linux nécessaire pour que le service lui-même fonctionne.
Les conteneurs occupent très peu de ressources et d'espace sur votre ordinateur. Cela vous permet de déployer de nombreux services qui sont autonomes sans les ressources de silhouette. Cela signifie également que, lorsque vous supprimez un service de Docker, il se retire complètement sans laisser de traces derrière.
Toutes les dépendances et tout ont disparu lorsqu'il est supprimé. Un petit volume peut être laissé pour compte, mais il est également très facile de tailler des volumes inutilisés.
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.
Docker, je te choisis
Il existe de nombreuses options en ce qui concerne les services conteneurisés. Pendant le plus longtemps, Truenas a utilisé des prisons (bien qu'elle soit récemment passée à Docker), il y a des kubernetes, des machines virtuelles, des conteneurs LXC et probablement plus. Docker n'est qu'un service de beaucoup. Pourquoi l'ai-je choisi?
Docker est, à mon avis, simplement le logiciel de contenerisation le plus simple à configurer, et aussi parmi les plus robustes. Il y a plus de 10 000 conteneurs Docker dans le Hub Docker, et ce n'est qu'un endroit pour trouver des applications. Peu importe ce que vous voulez courir, il y a de fortes chances, il y a un conteneur Docker pour cela.
Les prisons sont plus limitées dans leur fonction et leur disponibilité. Kubernetes, bien que basée sur Docker, et exécute des conteneurs Docker, est tout simplement plus compliqué à configurer pour un environnement à domicile car il est plus axé sur l'utilisation de l'entreprise. Les machines virtuelles sont belles et tout, mais c'est simplement l'installation du logiciel Bare Metal dans un système d'exploitation, et n'accomplit pas ce que je veux. Les conteneurs LXC sont très similaires aux conteneurs Docker, mais ne sont pas aussi simples à gérer que Docker.
J'ai commencé à utiliser Docker en 2021 lorsque j'ai renversé mon premier serveur Unaid. C'était une de mes exigences à l'époque, alors que je commençais à vraiment plonger dans le monde de la maison. À ce jour, c'est une de mes exigences sur n'importe quel serveur que je gère. Qu'il s'agisse d'une machine virtuelle Ubuntu ou d'un NAS à métal nu, il doit avoir des capacités Docker.
Docker est également extrêmement facile à utiliser et à comprendre. Bien que j'exécute des serveurs Web depuis de nombreuses années, l'installation de dépendances, la configuration des fichiers JSON et l'essai de déboguer des services n'ont jamais été simples pour moi. La désinstallation des choses était encore plus complexe la moitié du temps. Docker simplifie cela.
J'adore la facilité avec laquelle je peux faire tourner un service dans Docker, le tester, l'évaluer et décider si je vais le garder.
L'autre jour, j'avais une hausse de Kuma en cours d'exécution sur mon hôte de docker principal. J'ai aimé le service mais je voulais l'exécuter sur une machine qui a une meilleure disponibilité que mon instance docker principale. Donc, j'ai simplement tourné un autre conteneur de hausses-kuma sur un autre hôte de Docker que j'ai et, en quelques minutes, j'étais prêt à reprendre.
Je gère plus de 30 services, tous sur Docker
Mon HomeLab entier fonctionne sur Docker. Je ne peux penser qu'à un seul service qui ne fonctionne pas sur Docker, et je pense en fait le déplacer dans un conteneur Docker.
Une liste rapide de quelques-uns des services que je gère dans mon domicile:
-
Audiobookshelf
-
Calibre
-
Calibre-web
-
Assistant à domicile
-
Émouvoir
-
Gestionnaire de proxy Nginx
-
Plex
-
Scrypté
-
Pi-trous
Ce sont des services qui s'exécutent sur mon instance docker principale. J'ai également Docker qui fonctionne sur mon Raspberry Pi, qui gère la hausse de Kuma et exécutera bientôt mon instance de bole de sauvegarde.
J'ai deux machines virtuelles secondaires qui exécutent Docker. Ces machines virtuelles utilisent Ubuntu 24.04 comme base et Docker comme hôte de conteneur. La raison pour laquelle ils sont deux machines virtuelles distinctes de ma machine virtuelle Docker principale est que les services fonctionnent simplement mieux lorsqu'ils sont séparés sur différentes machines. Ces deux machines virtuelles exécutent mon serveur de jeux Pterodactyl et mon panneau de gestion.
Docker facilite la maison
Que vous vouliez entrer dans la maison, ou que vous le fassiez déjà, Docker est quelque chose que je pense vraiment que tout le monde devrait utiliser.
Si vous n'avez pas connu la vie d'un homelab contenerisé, vous manquez. Il y a tellement de docker qui est capable, notamment en passant dans le domaine de la haute disponibilité, ce que je prévois d'explorer plus tard cette année.
Avoir tous vos services en tant que conteneurs autonomes les rend simplement plus faciles à gérer. Qu'il s'agisse de mettre à jour un service et non un autre, de supprimer quelque chose que vous n'utilisez plus, ou simplement de faire tourner plusieurs conteneurs qui se parlent tous mais sont séparés de votre système d'exploitation principal, Docker est l'outil pour le travail.
Mon domicile n'a pas pu fonctionner comme il se passe sans Docker. Je pense que si vous essayez, vous verrez à quel point il est utile d'un outil pour votre configuration.
Êtes-vous lu pour plonger la tête première dans les conteneurs Docker? Voici 10 conteneurs Docker que je pense que tout le monde devrait courir. Cette liste vous permettra de démarrer avec certains des services de base qui exécutent mon HomeLab via Docker, et ils sont tous assez faciles à tourner aussi!