<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Proxmox | Antoine Weill--Duflos</title>
    <link>https://antoine.weill-duflos.fr/fr/tag/proxmox/</link>
      <atom:link href="https://antoine.weill-duflos.fr/fr/tag/proxmox/index.xml" rel="self" type="application/rss+xml" />
    <description>Proxmox</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr-fr</language><lastBuildDate>Mon, 13 Apr 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://antoine.weill-duflos.fr/media/icon_hu_d686267daab28486.png</url>
      <title>Proxmox</title>
      <link>https://antoine.weill-duflos.fr/fr/tag/proxmox/</link>
    </image>
    
    <item>
      <title>GitOps auto-heberge a la maison : gerer 30&#43; services avec Komodo et un cluster Proxmox</title>
      <link>https://antoine.weill-duflos.fr/fr/post/komodo/</link>
      <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://antoine.weill-duflos.fr/fr/post/komodo/</guid>
      <description>&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;Faire tourner une poignee de services auto-heberges, c&amp;rsquo;est facile. Un seul &lt;code&gt;docker-compose up&lt;/code&gt; et c&amp;rsquo;est regle. Mais a un moment, &amp;ldquo;une poignee&amp;rdquo; devient 30+ stacks repartis sur plusieurs serveurs, et la il faut une vraie solution pour tout gerer. C&amp;rsquo;est la ou j&amp;rsquo;en suis aujourd&amp;rsquo;hui, et la partie la plus interessante n&amp;rsquo;est pas un service en particulier, mais la couche d&amp;rsquo;orchestration qui relie tout ensemble.&lt;/p&gt;
&lt;h2 id=&#34;le-probleme&#34;&gt;Le probleme&lt;/h2&gt;
&lt;p&gt;Je fais tourner beaucoup de services chez moi. Gestion de photos, domotique, synchronisation de fichiers, NVR avec detection IA, un CRM personnel, lecteur RSS, gestion documentaire, gestionnaire de mots de passe, analytics, un serveur Matrix, inference LLM&amp;hellip; la liste continue. Chacun est un stack Docker Compose. Chacun doit etre deploye, mis a jour, surveille, et occasionnellement debogue.&lt;/p&gt;
&lt;p&gt;Pendant un moment, je gerais tout manuellement : SSH sur un serveur, &lt;code&gt;cd&lt;/code&gt; dans le bon repertoire, &lt;code&gt;docker compose pull &amp;amp;&amp;amp; docker compose up -d&lt;/code&gt;, verifier les logs. Ca marche, mais ca ne passe pas a l&amp;rsquo;echelle. Quand on gere des services sur six hotes differents, on passe plus de temps sur la logistique que sur l&amp;rsquo;utilisation reelle des outils qu&amp;rsquo;on a construits.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais besoin d&amp;rsquo;un plan de controle.&lt;/p&gt;
&lt;h2 id=&#34;le-materiel--un-cluster-proxmox&#34;&gt;Le materiel : un cluster Proxmox&lt;/h2&gt;
&lt;p&gt;Tout tourne sur un cluster &lt;strong&gt;Proxmox VE&lt;/strong&gt; construit a partir de materiel d&amp;rsquo;entreprise recycle :&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Noeud&lt;/th&gt;
          &lt;th&gt;CPU&lt;/th&gt;
          &lt;th&gt;RAM&lt;/th&gt;
          &lt;th&gt;Role&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Principal&lt;/td&gt;
          &lt;td&gt;Xeon E5-2640 (12 coeurs @ 2.5 GHz)&lt;/td&gt;
          &lt;td&gt;32 Go&lt;/td&gt;
          &lt;td&gt;Charges principales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Secondaire&lt;/td&gt;
          &lt;td&gt;Xeon E5-2430 (12 coeurs @ 2.2 GHz)&lt;/td&gt;
          &lt;td&gt;24 Go&lt;/td&gt;
          &lt;td&gt;Charges secondaires&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Ce sont de vieux serveurs, le genre qu&amp;rsquo;on trouve pour presque rien. Ils sont bruyants, consomment de l&amp;rsquo;electricite, et ont plus de puissance de calcul que je n&amp;rsquo;en aurai jamais besoin. Parfait pour un homelab.&lt;/p&gt;
&lt;p&gt;Le cluster fait tourner environ 40 conteneurs LXC. Les conteneurs LXC sont le vrai cheval de bataille : ils sont plus legers que des VMs, demarrent en quelques secondes, et offrent une isolation correcte sans le surcout de la virtualisation complete. La plupart de mes hotes Docker sont des conteneurs LXC avec quelques Go de RAM chacun.&lt;/p&gt;
&lt;h2 id=&#34;les-serveurs--qui-fait-quoi&#34;&gt;Les serveurs : qui fait quoi&lt;/h2&gt;
&lt;p&gt;Tous les conteneurs LXC ne font pas tourner Docker. Certains hebergent des services standalone (DNS, monitoring, reverse proxy, authentification). Mais les hotes Docker sont regroupes logiquement dans &lt;strong&gt;Komodo&lt;/strong&gt; comme &amp;ldquo;serveurs&amp;rdquo;, chacun etant un conteneur LXC leger dedie a un ensemble de stacks lies. Komodo voit six serveurs au total : quelques hotes Docker generalistes, une instance Home Assistant dediee, un hote de gestion de photos, un conteneur d&amp;rsquo;alertes, et le vault.&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;vault&lt;/strong&gt; est le plus interessant. C&amp;rsquo;est en fait un NAS sous &lt;strong&gt;OpenMediaVault&lt;/strong&gt; avec un GPU &lt;strong&gt;Intel Arc B580&lt;/strong&gt; installe. Cette seule carte gere le decodage video materiel pour les flux cameras de Frigate, la detection d&amp;rsquo;objets par IA, &lt;em&gt;et&lt;/em&gt; l&amp;rsquo;inference LLM via Ollama, le tout en meme temps. J&amp;rsquo;ai ecrit sur le volet Frigate dans un &lt;a href=&#34;https://antoine.weill-duflos.fr/fr/post/frigate/&#34;&gt;article precedent&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;komodo-entre-en-scene&#34;&gt;Komodo entre en scene&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://komo.do/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Komodo&lt;/a&gt; est un gestionnaire de deploiement auto-heberge. Pensez-y comme une alternative legere a Portainer ou Coolify, mais axe sur la gestion de stacks Docker Compose a travers plusieurs serveurs. Pourquoi je l&amp;rsquo;ai choisi :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestion multi-serveur depuis un seul tableau de bord.&lt;/strong&gt; Une seule interface pour voir et controler chaque stack sur chaque serveur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deploiements bases sur Git.&lt;/strong&gt; Les stacks peuvent tirer leurs fichiers compose depuis un depot Git. Poussez un changement, et Komodo le deploie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mises a jour declenchees par webhook.&lt;/strong&gt; Mon instance Gitea auto-hebergee envoie des webhooks a Komodo a chaque push. Le stack se redeploie automatiquement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mise a jour automatique des images.&lt;/strong&gt; Komodo peut verifier les nouvelles images et mettre a jour les conteneurs sans intervention manuelle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestion des variables d&amp;rsquo;environnement.&lt;/strong&gt; Les secrets et la config vivent dans Komodo, pas dans le depot Git.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;architecture est la suivante : une instance centrale &lt;strong&gt;Komodo Core&lt;/strong&gt; tourne sur un serveur, et un agent leger &lt;strong&gt;Komodo Periphery&lt;/strong&gt; tourne sur chaque hote distant. Le core communique avec les agents peripheriques pour deployer et gerer les stacks. C&amp;rsquo;est simple, fiable, et ne necessite pas Kubernetes.&lt;/p&gt;
&lt;h2 id=&#34;le-workflow-gitops&#34;&gt;Le workflow GitOps&lt;/h2&gt;
&lt;p&gt;C&amp;rsquo;est la que ca devient interessant. Environ la moitie de mes stacks sont geres via des depots Git sur mon instance &lt;strong&gt;Gitea&lt;/strong&gt; auto-hebergee. Le workflow :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Je modifie un &lt;code&gt;docker-compose.yml&lt;/code&gt; dans un depot Gitea&lt;/li&gt;
&lt;li&gt;Je pousse le changement&lt;/li&gt;
&lt;li&gt;Gitea envoie un webhook a Komodo&lt;/li&gt;
&lt;li&gt;Komodo tire le fichier compose mis a jour&lt;/li&gt;
&lt;li&gt;Komodo redeploie le stack sur le serveur cible&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Pour les stacks qui n&amp;rsquo;ont pas besoin de fichiers compose versiones (services plus simples), Komodo gere les fichiers directement sur l&amp;rsquo;hote. Je peux quand meme les modifier via l&amp;rsquo;interface Komodo, mais ils ne sont pas sauvegardes dans Git.&lt;/p&gt;
&lt;p&gt;La separation est intentionnelle. Les stacks complexes avec plusieurs services, des configs personnalisees, ou des changements frequents vivent dans Git. Les services simples a conteneur unique sont geres en ligne. Cela evite le surcout de Git pour ce qui n&amp;rsquo;en a pas besoin, tout en me donnant un historique complet et la possibilite de rollback pour ce qui en a besoin.&lt;/p&gt;
&lt;h3 id=&#34;home-assistant--un-cas-particulier&#34;&gt;Home Assistant : un cas particulier&lt;/h3&gt;
&lt;p&gt;Home Assistant merite une mention car il est gere differemment. Toute sa configuration est dans un depot Gitea, et Komodo le surveille avec du polling et des webhooks. Quand je pousse un changement de config, Home Assistant recoit la mise a jour automatiquement. Plus besoin de SSH pour editer &lt;code&gt;configuration.yaml&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;le-reseau--opnsense-et-vlans&#34;&gt;Le reseau : OPNsense et VLANs&lt;/h2&gt;
&lt;p&gt;Faire tourner des dizaines de services sur un reseau plat serait un cauchemar de securite. J&amp;rsquo;utilise &lt;strong&gt;OPNsense&lt;/strong&gt; comme pare-feu/routeur avec plusieurs VLANs :&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Segment reseau&lt;/th&gt;
          &lt;th&gt;Fonction&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Principal&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Serveurs et appareils de confiance&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;IoT&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Appareils domotiques (cameras, capteurs, ESPHome)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Lab&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;VMs et conteneurs experimentaux&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;WireGuard&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Acces VPN depuis l&amp;rsquo;exterieur&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Les appareils IoT ne peuvent pas communiquer entre eux ni avec le reseau principal directement : ils ne peuvent atteindre que les services dont ils ont besoin (Home Assistant, Frigate). Le reseau lab est isole pour les tests. WireGuard me donne un acces distant securise a tout.&lt;/p&gt;
&lt;h3 id=&#34;dns--unbound--technitium&#34;&gt;DNS : Unbound + Technitium&lt;/h3&gt;
&lt;p&gt;Le DNS est gere par deux couches qui travaillent ensemble :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Unbound&lt;/strong&gt; tourne directement sur OPNsense comme resolveur recursif principal. Il gere la resolution DNS en amont avec validation DNSSEC, et il est rapide, car la plupart des requetes sont servies depuis le cache.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technitium DNS&lt;/strong&gt; (dans deux conteneurs LXC pour la redondance) gere les zones DNS internes, pour que je puisse atteindre les services par nom au lieu de memoriser des IPs. Il fournit aussi du split-horizon DNS pour les services qui ont besoin de reponses differentes en interne et en externe.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ntp--temps-gps-avec-chrony&#34;&gt;NTP : temps GPS avec Chrony&lt;/h3&gt;
&lt;p&gt;Un detail dont je suis particulierement content : la source de temps du reseau est un &lt;strong&gt;recepteur GPS USB&lt;/strong&gt; (BN-808, chipset u-blox M8N) connecte a un conteneur LXC dedie faisant tourner &lt;strong&gt;Chrony&lt;/strong&gt;. Le GPS fournit un temps Stratum 1 a tout le reseau.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installation n&amp;rsquo;est pas parfaite : le GPS USB ne supporte pas le PPS (Pulse Per Second), donc la precision est limitee a environ 40ms a cause de la latence USB. Chrony compense avec une correction manuelle d&amp;rsquo;offset et bascule sur des serveurs NTP internet (Cloudflare, pools publics) si necessaire. OPNsense distribue ensuite le temps a tous les clients du reseau.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est surdimensionne pour un homelab, mais il y a quelque chose de satisfaisant a avoir sa propre source de temps disciplinee par GPS plutot que de dependre entierement de pools NTP externes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Authelia&lt;/strong&gt; fournit le single sign-on avec authentification a deux facteurs devant tous les services web, avec &lt;strong&gt;Traefik&lt;/strong&gt; comme reverse proxy.&lt;/p&gt;
&lt;h2 id=&#34;stockage--le-nas-vault&#34;&gt;Stockage : le NAS vault&lt;/h2&gt;
&lt;p&gt;Le serveur &amp;ldquo;vault&amp;rdquo; est un NAS &lt;strong&gt;OpenMediaVault&lt;/strong&gt; qui fait double emploi comme noeud de calcul. Il dispose de 8 disques (un NVMe pour l&amp;rsquo;OS et 7 HDD allant de 2 To a 16 To) :&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Disque&lt;/th&gt;
          &lt;th&gt;Modele&lt;/th&gt;
          &lt;th&gt;Capacite&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;NVMe&lt;/td&gt;
          &lt;td&gt;WD BLACK SN770&lt;/td&gt;
          &lt;td&gt;500 Go (boot)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 1&lt;/td&gt;
          &lt;td&gt;Seagate IronWolf&lt;/td&gt;
          &lt;td&gt;10 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 2&lt;/td&gt;
          &lt;td&gt;WD&lt;/td&gt;
          &lt;td&gt;10 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 3&lt;/td&gt;
          &lt;td&gt;WD&lt;/td&gt;
          &lt;td&gt;12 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 4&lt;/td&gt;
          &lt;td&gt;WD Green&lt;/td&gt;
          &lt;td&gt;2 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 5&lt;/td&gt;
          &lt;td&gt;WD Red&lt;/td&gt;
          &lt;td&gt;2 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 6&lt;/td&gt;
          &lt;td&gt;Seagate IronWolf Pro&lt;/td&gt;
          &lt;td&gt;16 To&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HDD 7&lt;/td&gt;
          &lt;td&gt;HGST Deskstar NAS&lt;/td&gt;
          &lt;td&gt;6 To&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Un melange de disques achetes au fil du temps ou en promo. La beaute de mon architecture de stockage, c&amp;rsquo;est qu&amp;rsquo;elle se fiche de l&amp;rsquo;uniformite.&lt;/p&gt;
&lt;h3 id=&#34;larchitecture-mergerfs-imbriquee&#34;&gt;L&amp;rsquo;architecture mergerfs imbriquee&lt;/h3&gt;
&lt;p&gt;Le stockage est organise en couches avec des pools &lt;strong&gt;mergerfs&lt;/strong&gt; :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Un pool protege par parite&lt;/strong&gt; : un pool mergerfs combinant 3 disques formates en btrfs. Ces disques sont proteges par la parite &lt;strong&gt;SnapRAID&lt;/strong&gt; (le Seagate 16 To sert de disque de parite).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Un pool principal&lt;/strong&gt; : un super-pool qui fusionne le pool protege par parite avec un disque supplementaire en un seul espace. C&amp;rsquo;est la qu&amp;rsquo;Immich stocke les photos, Kavita les livres, et Frigate les clips video.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Un pool photos en lecture seule&lt;/strong&gt; : une vue mergerfs qui regroupe tous mes repertoires de photos (photos personnelles, imports DCIM) en un seul point de montage pour un acces facile.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;SnapRAID effectue les syncs de parite de maniere programmee (pas en temps reel comme le RAID traditionnel), ce qui signifie :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pas de penalite en ecriture, car les ecritures vont directement sur les disques btrfs&lt;/li&gt;
&lt;li&gt;Si un disque tombe en panne, on peut recuperer son contenu grace a la parite + les disques restants&lt;/li&gt;
&lt;li&gt;Les disques peuvent etre de tailles differentes (et ils le sont largement)&lt;/li&gt;
&lt;li&gt;Chaque disque est un systeme de fichiers standard lisible individuellement en cas d&amp;rsquo;urgence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le compromis : les donnees ecrites entre deux syncs de parite ne sont pas protegees. Pour un homelab qui stocke des photos et des medias, c&amp;rsquo;est un risque acceptable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Proxmox Backup Server&lt;/strong&gt; tourne aussi dans Docker sur ce meme NAS, assurant les sauvegardes de VMs et conteneurs depuis le cluster Proxmox. Les deux noeuds Proxmox montent le stockage PBS du vault directement.&lt;/p&gt;
&lt;h2 id=&#34;surveillance-et-alertes&#34;&gt;Surveillance et alertes&lt;/h2&gt;
&lt;p&gt;On ne peut pas gerer ce qu&amp;rsquo;on ne voit pas. La stack de monitoring :&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Outil&lt;/th&gt;
          &lt;th&gt;Role&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Prometheus&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Collecte de metriques&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Grafana&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Tableaux de bord et visualisation&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Uptime Kuma&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Surveillance de disponibilite&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;cAdvisor&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Metriques de ressources des conteneurs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;NetAlertX&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Surveillance des appareils reseau&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;ntfy&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Notifications push sur mon telephone&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Komodo lui-meme s&amp;rsquo;integre avec &lt;strong&gt;ntfy&lt;/strong&gt; pour les alertes de deploiement. Si un stack echoue a se deployer ou qu&amp;rsquo;un conteneur devient unhealthy, je recois une notification push immediatement. Le stack ntfy-alerter fait correspondre la severite des alertes Komodo aux niveaux de priorite ntfy : une alerte critique obtient un push haute priorite qui passe outre le mode Ne Pas Deranger.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;ensemble tourne 24h/24, se gere en grande partie tout seul, et ne coute rien au-dela de l&amp;rsquo;electricite et de l&amp;rsquo;investissement materiel initial. Quand quelque chose a besoin d&amp;rsquo;attention, Komodo et ntfy s&amp;rsquo;assurent que je le sais, et le workflow GitOps fait que je peux regler la plupart des choses avec un &lt;code&gt;git push&lt;/code&gt; depuis mon telephone.&lt;/p&gt;
&lt;p&gt;Si vous faites tourner plus qu&amp;rsquo;une poignee de services auto-heberges et que vous les gerez encore manuellement, jetez un oeil a &lt;a href=&#34;https://komo.do/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Komodo&lt;/a&gt;. Ca a transforme mon homelab d&amp;rsquo;une collection d&amp;rsquo;hotes Docker en une vraie plateforme geree.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
