L’article présente une solution pour gérer des conteneurs avec Podman et des Quadlets, combinée à une approche GitOps via Materia, en remplacement d’un environnement Docker classique. L’auteur, contraint d’abandonner Talos (un OS optimisé pour Kubernetes) sur un nouveau fournisseur, a opté pour une Debian 13 avec Docker, mais a découvert les avantages de Podman : architecture daemonless (sans démon root), mode rootless (sous l’utilisateur), et intégration native avec systemd pour une gestion simplifiée des conteneurs et des logs.
L’outil podlet est utilisé pour convertir des fichiers docker-compose.yml en fichiers Quadlets (fichiers .container pour systemd), facilitant la migration. Par exemple, un fichier compose.yaml pour Traefik est transformé en configuration systemd, permettant une gestion automatisée des conteneurs, des redémarrages et des mises à jour via des timers. Les secrets sont gérés séparément pour plus de sécurité.
Pour automatiser davantage, l’auteur propose une intégration avec Materia, un outil GitOps, afin de déployer et synchroniser les configurations depuis un dépôt Git. Une crontab peut déclencher des mises à jour régulières, tandis que des attributs spécifiques par hôte permettent une personnalisation fine. Cette approche combine simplicité, automatisation et sécurité, tout en évitant les contraintes des solutions Kubernetes traditionnelles.
Ce tutoriel explique comment créer un registry Docker privé avec Podman et Quadlet, en mode rootless pour plus de sécurité. Après avoir installé Podman et créé un utilisateur dédié, on génère un certificat auto-signé et un fichier d’authentification (htpasswd). Le registry est lancé via un conteneur Docker officiel, puis configuré pour démarrer automatiquement avec un fichier registry.container dans ~/.config/containers/systemd/. Une redirection de port (443 → 5000) est configurée via firewalld, et un nettoyage automatique des fichiers temporaires est mis en place. Pour tester, on pousse une image (hello-world) depuis une machine cliente après avoir configuré l’accès en mode insecure dans /etc/containers/registries.conf. Une solution simple et locale pour héberger ses images conteneurisées.
Exemple de commande clé :
podman run -d --name registry -p 5000:5000 -v ~/podman-registry/data:/var/lib/registry:Z [...]Podman est un moteur de conteneur concurrent de Docker. Quadlet est un générateur de services Systemd pour les conteneurs / pods créés par Podman. L'auteur montre l'utilisation de Quadlet pour configurer MySQL / WordPress avec des Quadlet