Technos

Ma stack : à la base de tout, il y a Portainer

Avant les outils sympas, il faut la machine qui les fait tourner. Chez moi : une petite bécane sous Linux, Docker, et Portainer par-dessus pour tout piloter.

4 min de lecture commentaires

Ma stack : à la base de tout, il y a Portainer

Avant de vous présenter les outils sympas, il faut parler de ce qui les fait tourner. Chez moi c’est une petite machine sous Linux, Docker dessus, et Portainer par-dessus pour tout piloter. Pas hyper sexy comme sujet, faut l’avouer. Mais sans ça, rien ne marche.

Il faut une machine qui tourne, pas forcément une grosse

80 % des outils techniques que je vais vous présenter s’exécutent sur un serveur. Souvent un tout petit : un Raspberry Pi (bon, ok, les vieux RPi 32 bits sont en fin de vie), une machine pourrie qui traîne, un vieux laptop. Un serveur dédié si vous y mettez le prix. Dans tous les cas il faut un truc qui tourne en permanence pour avoir un home lab.

Et je maintiens que garder son PC fixe ultra puissant allumé, avec toute sa config, juste pour faire tourner un serveur de redirection de mail ou un lecteur de comics et d’ebooks, c’est peut-être pas la meilleure des idées. Attention, je dis pas qu’on peut pas. Mais bon.

On trouve des N100 (le petit processeur Intel), des RPi reconditionnés pas chers, des cartes monocarte pas trop chères, même si la crise de la RAM est passée par là. Et ça vaut vraiment le coup : pour pas grand-chose, t’as un home lab de fou.

Une distrib Linux, Docker, et rien d’autre

Un PC pour un home lab c’est bien, mais tu mets quoi dessus pour avoir des services cool ? Allez, on va coller un bon gros Windows qui te bouffera 50 % de ta RAM juste pour exister. Je plaisante à moitié, y en a qui le font.

Moi c’est simple : une mini distrib Linux. Debian, Ubuntu, Red Hat, ce que tu veux, à la limite on s’en fout. Et Docker dessus, avec docker compose, le petit outil pour tout ranger. Rien d’autre.

Je vais pas vous détailler dans cet article tout ce que fait Docker. En gros c’est des containers, comme des VM, sauf que tu vires toute la couche matérielle, l’émulation du proco et compagnie. Tu fais juste tourner un OS dans ton OS, au niveau machine. C’est transparent, ça vit tout seul dans son coin.

Administrer tout ça à la main, c’est la merde

Sauf que le jour où tu commences à empiler les conteneurs, les administrer, c’est la merde. Et là on prend quoi ? Je te le fais dans le mille : comme le titre de l’article le dit, on prend Portainer.

Alors première question, pourquoi Portainer et pas K8s ou un autre orchestrateur ultra balèze ? Et bien parce que je suis tout seul. C’est assez simple, et même si j’utilise même pas 50 % de ce qu’il propose (tu vas me dire, on fait tous ça avec Word depuis des années et ça n’a jamais dérangé personne), on s’y retrouve, on contrôle ce qui se passe, et c’est plutôt facile.

Tableau de bord de Portainer : 22 stacks, 30 conteneurs dont 30 en fonctionnement, 47 images, 9 volumes, 18 réseaux
Le tableau de bord : tout ce qui tourne sur la machine, sur un seul écran.

Une stack par outil

En gros tu fabriques une stack par outil. Une stack, c’est quoi ? C’est juste ce qui regroupe ton compose.

Liste des stacks dans Portainer : audiobookshelf, filebrowser, ftp, immich, kavita, komga, music-assistant, musicbrainz
Une ligne par outil, avec la date de déploiement et l’état des images.
Éditeur de compose dans Portainer, avec le fichier YAML du service filebrowser
Derrière chaque stack, l’éditeur : c’est ton docker-compose.yml, éditable dans le navigateur.

Tu récupères le compose dans la doc de l’outil que tu veux monter, tu le colles, et ça démarre ou pas. Au pire, maintenant, tu te fais aider par Claudio (faudra que je parle de Claude un jour), il te fera très bien les choses. Ou son équivalent gratos, lol.

Et il te met tous les services dont t’as besoin. Ton outil a besoin d’une base de données dans telle version, c’est bon. D’un serveur web intégré, c’est bon. De l’outil lui-même, c’est bon. Une petite redirection de port, un serveur proxy pour taper dessus avec un nom de domaine (ça aussi je vous en parlerai plus tard), et hop, t’as ton outil. C’est trop bien.

La version entreprise, gratuite pour un usage perso

Petit bonus : tu peux avoir la version Business gratos pour un usage perso. Comme ça tu vois les mises à jour d’image et tout le reste. Sur la capture des stacks, la pastille orange au bout de chaque ligne, c’est exactement ça : une image plus récente est dispo.

Bon, c’est pas K8s, et je gère quand même pas mal de trucs à la main. Mais ça simplifie grandement la vie.

Le seul compose que tu lanceras à la main

Je vous file la doc d’installation, et un compose tout simple. C’est le seul que tu démarreras toi-même avec un docker compose up : tous les suivants passeront par l’interface.

services:
  portainer:
    image: portainer/portainer-ee:latest
    container_name: portainer
    restart: always
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

volumes:
  portainer_data:

Attention à l’image : portainer/portainer-ee, c’est celle de la version Business, celle qui attend une clé de licence (la perso, gratuite, que tu demandes sur leur site). Si tu veux rester sur l’édition communautaire, tu ne charges pas ee, tu prends l’autre image, portainer/portainer-ce:latest. C’est le même compose, juste cette ligne qui change.

Le volume /var/run/docker.sock n’est pas un détail : c’est par là que Portainer parle à Docker, donc c’est ce qui lui donne la main sur toute la machine. À garder en tête avant d’exposer l’interface au grand large.

Après le docker compose up -d, tu ouvres https://127.0.0.1:9443, tu suis les consignes, emballé c’est pesé.

Sans cette base, le reste n’a pas de sens

Comme je le disais, c’est pas hyper sexy comme article. Mais sans cette base, tout le reste qui devient sexy n’a aucun sens. Ça sert à quoi que je te présente un outil si tu sais même pas comment le faire tourner ?

En tout cas bonne lecture à tous, et je reviens très vite avec des outils plus cool.

Image d’en-tête générée par IA.

SmeagolWorms4

Les nouveaux articles par mail

Un mail par article publié. Rien d'autre, et désinscription en un clic.

Commentaires

Chargement des commentaires…

    Laisser un commentaire

    Vérification anti-robot en cours…

    Jamais publié.