Ce shaarli explique comment utiliser Podman comme un substitut à Docker, en permettant l'exécution des commandes Docker habituelles avec Podman. L'article détaille l'installation du paquet podman-docker
, qui fournit un script docker
émulant les commandes Docker, ainsi que la suppression du message d'avertissement via la création du fichier /etc/containers/nodocker
. Il aborde aussi la compatibilité avec docker-compose
grâce à l'installation de podman-compose
, et présente deux solutions pour gérer le démarrage automatique des conteneurs (via Quadlet ou en activant le service podman-restart
). L'objectif est de faciliter la transition pour les utilisateurs habitués à Docker, tout en profitant des avantages de Podman, notamment son absence de démon.
L’article présente Warpgate, un outil open source qui simplifie la gestion des accès sécurisés (SSH, PostgreSQL, MySQL, HTTP) en agissant comme un bastion moderne. Facile à déployer (binaire ou Docker), il centralise l’authentification (avec support SSO), offre une connexion transparente et un audit en temps réel des sessions. L’auteur souligne sa simplicité, sa sécurité renforcée et son interface intuitive, idéale pour remplacer les solutions complexes de machines de rebond. Un exemple de déploiement avec Docker Compose est fourni, illustrant la rapidité de mise en place. Une pépite pour les administrateurs système en quête d’efficacité et de traçabilité.
Ce billet explique comment résoudre en DNS les noms de conteneurs Docker sous le domaine local .docker
en utilisant systemd-resolved plutôt que dnsmasq, une solution plus simple et performante depuis systemd 258. L’auteur utilise toujours dnsdock pour gérer la résolution DNS, mais délègue désormais la zone .docker
à ce service via un fichier de configuration /etc/systemd/dns-delegate.d/docker.dns-delegate
. Après avoir lancé dnsdock et configuré resolved, il devient possible de résoudre les noms des conteneurs (basés sur leur nom, alias ou étiquettes) directement depuis la machine hôte, facilitant ainsi la gestion de plusieurs services comme PostgreSQL sans conflit de ports. Une mise à jour pratique pour les utilisateurs de Docker et systemd.
Cet article explique comment configurer WordPress avec MariaDB et Traefik en utilisant des réseaux Docker séparés pour améliorer la sécurité et faciliter la duplication de sites. L’article détaille la création d’une architecture où chaque site WordPress et sa base de données sont isolés dans leur propre réseau privé, inaccessible depuis internet, tandis que Traefik gère le routage et les certificats SSL automatiquement via Let’s Encrypt. Le tutoriel propose une configuration étape par étape : installation de Traefik avec SSL, création de réseaux Docker dédiés, déploiement d’un premier site WordPress, puis duplication aisée pour ajouter d’autres sites. Les avantages soulignés sont la sécurité renforcée, la simplicité de gestion et la possibilité d’ajouter facilement de nouveaux sites. L’auteur évoque aussi des pistes d’amélioration, comme l’automatisation des sauvegardes des bases de données. Idéal pour qui veut héberger plusieurs sites WordPress de manière sécurisée et scalable.
L’article explique pourquoi l’auteur a abandonné Docker pour Podman, mettant en avant plusieurs avantages clés : Podman est sans démon, ce qui améliore la sécurité (moins de vulnérabilités liées à un processus root permanent) et réduit la consommation de ressources. Il s’intègre nativement avec systemd et Kubernetes, facilitant la gestion des conteneurs comme des services système et permettant une transition fluide vers des environnements de production. La migration est simple, car Podman utilise les mêmes commandes et fichiers Dockerfile que Docker, tout en offrant une approche plus sécurisée (mode rootless par défaut) et une meilleure alignement avec les pratiques Linux modernes. L’auteur souligne aussi que Podman encourage une architecture plus propre, comme l’utilisation d’un reverse proxy plutôt que l’exposition directe de ports privilégiés. En résumé, Podman se présente comme une évolution naturelle pour les développeurs cherchant plus de sécurité, de légèreté et de cohérence entre le développement et la production.
L’article explique comment simplifier le déploiement d’agents IA en conteneurisant une application Symfony avec Docker. Il présente trois stratégies (monolithique, sidecar, hybride) pour adapter la conteneurisation aux besoins du projet, en privilégiant une approche hybride combinant Nginx, PHP-FPM et Supervisord dans un seul conteneur, tout en permettant des tâches spécifiques via des sidecars. L’auteur détaille la configuration des fichiers Nginx, PHP, PHP-FPM et Supervisord, ainsi que la création d’un Dockerfile et d’un docker-compose.yml pour une image auto-suffisante et scalable. L’objectif est d’assurer la portabilité, la robustesse et l’évolutivité, notamment pour des environnements Kubernetes, tout en évitant les anti-patterns comme la reconstruction d’image par environnement. L’article insiste sur l’utilisation de UTC, la séparation des configurations par environnement et l’automatisation via CI/CD pour un déploiement fiable et reproductible.
Dockeriser une application Symfony pour déployer un agent IA de manière scalable : Cet article explique comment containeriser une application Symfony avec Docker et Docker Compose, en explorant trois stratégies (monolithique, sidecar, hybride). L’approche hybride est privilégiée pour allier simplicité et flexibilité, en utilisant Supervisord pour gérer Nginx, PHP-FPM et les consommateurs de messages. Les fichiers de configuration (Nginx, PHP, PHP-FPM) sont intégrés à l’image, et un Dockerfile optimisé permet de créer un environnement reproductible et portable. L’article souligne l’importance d’utiliser UTC pour la gestion du temps, de séparer les configurations par environnement, et d’éviter de reconstruire l’image pour chaque déploiement. Enfin, un fichier docker-compose.yml orchestrerait le tout, avec Redis pour la gestion des messages, offrant une base solide pour un déploiement scalable et observable, prêt pour Kubernetes.
Pour optimiser les Dev Containers, l’auteur propose une approche basée sur les prebuilds : créer une image Docker générique (avec Zsh, Oh My Zsh, Docker-in-Docker, etc.) et la réutiliser comme base pour tous ses projets. Cela évite de reconstruire l’environnement à chaque fois et réduit le temps de démarrage. Il utilise aussi des volumes Docker pour persister l’historique des commandes et les dépendances Maven entre les conteneurs. Grâce à la CLI des Dev Containers, il construit et pousse ces images pré-configurées, puis les utilise directement dans ses projets (ex. : Java avec Maven, JBang, Quarkus). Résultat : des environnements prêts en quelques secondes, même si la taille des images reste conséquente. Une méthode idéale pour gagner en efficacité, surtout lors des changements de machine ou pour standardiser ses outils de dev.
Cet article explore des techniques avancées pour personnaliser les Dev Containers, allant au-delà de la simple configuration de base. L’auteur illustre comment installer un outil comme SliDesk via différentes méthodes : en utilisant postCreateCommand
(simple mais répétitif), en créant une feature (réutilisable et versionnable, idéale pour partager des configurations), ou en construisant une image Docker custom (pour un environnement sur mesure et optimisé). Il aborde aussi l’utilisation de Docker in Docker pour construire des images directement depuis le conteneur, et de Docker Compose pour gérer des environnements complexes incluant des bases de données ou d’autres services. Enfin, il présente les templates, qui permettent de pré-configurer des Dev Containers pour des projets similaires, évitant ainsi la duplication de code. Une lecture essentielle pour qui veut industrialiser et standardiser ses environnements de développement avec flexibilité et efficacité !
Ce tutoriel détaillé explique comment mettre en place une solution de supervision complète de vos serveurs avec Prometheus (pour la collecte et le stockage des métriques système) et Grafana (pour leur visualisation sous forme de tableaux de bord interactifs).
Il couvre l’installation et la configuration de Prometheus et Grafana via Docker sur un serveur dédié, ainsi que le déploiement d’exporters comme node_exporter (métriques système), cAdvisor (métriques containers Docker), process_exporter (métriques processus), et blackbox_exporter (tests de disponibilité des services). Le guide aborde aussi la sécurisation des interfaces, la création d’alertes, et l’intégration d’Alert Manager pour la gestion des notifications. Idéal pour surveiller en temps réel l’état de votre infrastructure et recevoir des alertes en cas de dépassement de seuils, avec des exemples concrets et des tableaux de bord Grafana prêts à l’emploi.
Un super outil à auto héberger qui permet de convertir des fichiers dans plein de formats
L’article présente l’utilisation de Make pour simplifier et standardiser les commandes courantes dans un projet Symfony, surtout en environnement Docker. L’auteur partage ses Makefiles personnalisés, qui permettent de lancer des tâches comme l’installation des dépendances (make composer
), l’exécution des tests (make test
), l’analyse statique (make static-analysis
), ou encore la gestion de la base de données (make db-reset
), le tout avec des paramètres optionnels pour l’environnement (env=prod
) ou des arguments supplémentaires (arg=--testdox
). Grâce à Make, les commandes Docker complexes deviennent simples et documentées (ex: make qa
pour lancer la vérification de code, l’analyse statique et les tests en une seule commande). L’article propose trois versions de Makefile : pour Docker Compose, Docker seul, et PHP natif, inspirées du projet symfony-docker. L’objectif est d’améliorer la productivité en évitant de retaper des commandes longues et en centralisant la documentation des tâches disponibles. Une solution élégante pour uniformiser les workflows entre projets Symfony.
Le tutoriel présente BunkerWeb, une solution open-source combinant reverse proxy et Web Application Firewall (WAF) pour sécuriser les services web. Elle intègre des fonctionnalités comme le filtrage ModSecurity avec les règles OWASP CRS, le renforcement TLS, et la limitation de requêtes. Le tutoriel guide à travers le déploiement de BunkerWeb via Docker Compose, depuis la préparation de l'environnement jusqu'à la configuration d'un service web. Il explique comment créer un fichier compose.yaml
, lancer les conteneurs, et configurer BunkerWeb via une interface web d'administration. Le tutoriel montre également comment déployer un service web interne, comme IT-Tools, derrière BunkerWeb, en détaillant les étapes de configuration pour sécuriser et publier le service. Enfin, il conclut en soulignant la facilité d'utilisation et les options avancées de BunkerWeb pour renforcer la sécurité des applications web.
Le site Cosmos Cloud propose une plateforme sécurisée et facile à utiliser pour l'auto-hébergement. Voici un résumé des points clés :
Points Forts
- Sécurité et Maintenance Automatisée : Cosmos offre une configuration entièrement sécurisée avec une maintenance automatisée, intégrant des fonctionnalités comme l'authentification unique (SSO), l'anti-bot, l'anti-DDoS, et l'authentification à deux facteurs (2FA).
- Intégration Facile : La plateforme s'intègre facilement à votre configuration existante.
- Marché d'Applications : Cosmos propose un marché d'applications où vous pouvez parcourir et installer des applications qui s'intègrent à votre configuration, avec des règles de sécurité et de bases de données configurées automatiquement.
- Proxy Inverse Intégré : Un proxy inverse intégré facile à configurer et flexible, accessible via l'interface utilisateur moderne de Cosmos.
- Gestion des Conteneurs : Vous pouvez contrôler, mettre à jour et surveiller vos conteneurs directement depuis Cosmos et les exposer via le proxy inverse interne.
- VPN : Constellation est un VPN entièrement intégré qui vous permet de vous connecter à votre serveur à distance et de manière sécurisée, même sans ouvrir vos ports. Il inclut un DNS similaire à PiHole.
- Surveillance en Temps Réel : Surveillance persistante en temps réel avec des alertes et notifications personnalisables pour vous informer de tout problème.
Objectif
Cosmos vise à rendre l'auto-hébergement de vos services cloud et web satisfaisant tout en éliminant les tracas grâce à une maintenance automatisée et une configuration sécurisée dès le départ.
Pour plus de détails, vous pouvez consulter la documentation ou essayer la démo sur leur site web.
L'article explique comment transformer son réseau domestique en un environnement productif en utilisant des conteneurs Docker pour créer des alternatives privées aux services cloud. L'auteur décrit comment Docker facilite le déploiement d'applications et de services sans avoir à gérer des machines virtuelles complexes. Parmi les applications recommandées, on trouve Nextcloud pour le stockage et la collaboration de documents, Grocy pour la gestion des courses et des repas, Tududi pour la gestion des tâches, Bitwarden pour la gestion sécurisée des mots de passe, et Portainer pour la gestion des conteneurs Docker. Ces outils permettent de créer un écosystème privé, sécurisé et flexible directement depuis son réseau local.
L'article présente Erugo, un logiciel auto hébergé pour le partage de fichiers. L'auteur décrit aussi la procédure d'installation (plutôt simple grâce à Docker)
L'idée derrière ces 5 projets est d'apprendre la mécanique interne de Docker pour mieux construire ses propres images.
L'article présente des astuces pour optimiser l'utilisation de Docker Compose. Il propose d'utiliser des profils pour activer des services de manière conditionnelle, de gérer les variables d'environnement avec des fichiers .env, et d'optimiser les builds avec le cache. Il aborde également l'utilisation des vérifications de santé pour gérer les dépendances entre services, la personnalisation des logs pour une meilleure lisibilité, l'utilisation de volumes nommés pour la persistance des données, et l'extension des fichiers de configuration pour une meilleure modularité. Ces techniques permettent de rendre les workflows de développement plus efficaces et flexibles.
Apptainer, anciennement connu sous le nom de Singularity, est une plateforme de conteneurisation open source conçue pour exécuter des applications dans des environnements isolés et portables. Contrairement à d'autres solutions de conteneurisation comme Docker, Apptainer est spécialement optimisé pour les environnements de calcul haute performance (HPC) et les systèmes multi-utilisateurs, permettant aux utilisateurs d'exécuter des conteneurs sans nécessiter de privilèges root. Cela en fait un outil idéal pour les centres de recherche et les institutions académiques où la sécurité et la performance sont essentielles. Apptainer prend en charge les images Docker, facilitant ainsi l'intégration avec les infrastructures existantes, et offre une compatibilité avec les environnements HPC, permettant une interaction directe avec le matériel spécialisé. Grâce à sa capacité à fonctionner dans des environnements sans privilèges et à son architecture sans démon, Apptainer simplifie le déploiement d'applications conteneurisées tout en maintenant un haut niveau de sécurité et d'efficacité.
L'article explique comment l'auteur a finalement compris Docker et Kubernetes en les abordant de manière pratique. Docker est présenté comme un outil permettant d'empaqueter une application et ses dépendances dans un conteneur portable, assurant ainsi qu'elle fonctionne de la même manière partout. Kubernetes, quant à lui, est décrit comme un système de gestion de ces conteneurs, permettant de coordonner plusieurs services, de les maintenir en fonctionnement et de les mettre à l'échelle selon les besoins. L'auteur souligne que comprendre ces technologies est devenu plus simple en les utilisant pour résoudre des problèmes concrets plutôt qu'en essayant de mémoriser du jargon technique.