L’article aborde les trois problèmes courants rencontrés lors de la configuration d’un environnement de développement Symfony 7 avec Docker et WSL2 sous Windows. L’auteur partage des solutions pratiques pour éviter ces écueils, notamment un conflit de port avec PostgreSQL (résolu en mappant le port 5433 sur l’hôte au lieu de 5432) et des soucis de permissions avec le groupe Docker sous WSL2 (corrigés via newgrp docker ou un redémarrage de WSL2). Il évoque aussi l’absence de démarrage automatique du démon Docker au lancement de WSL2, suggérant d’activer systemd ou de lancer manuellement le service. L’auteur justifie enfin son choix d’Apache plutôt que Nginx pour des raisons de simplicité dans un contexte de développement.
L’article explique comment sortir les outils de qualité de code PHP du vendor/ d’un projet Symfony en utilisant l’image Docker jakzal/phpqa, afin d’éviter les conflits de dépendances, les composer update plus lents et les divergences entre environnement local et CI. L’auteur remplace les dépendances require-dev classiques (PHPStan, Rector, PHP-CS-Fixer, Deptrac, etc.) par des exécutions one-shot dans un conteneur Docker contenant les binaires .phar, avec un tag d’image figé pour garantir la reproductibilité et un cache partagé /tmp pour accélérer fortement les analyses. Le workflow repose sur un Makefile séparant des contrôles rapides avant commit et des vérifications plus lourdes avant release, avec des cibles atomiques réutilisables individuellement. Certains cas restent toutefois hors du périmètre de jakzal/phpqa, notamment lint:container de Symfony, composer audit et Biome pour JS/TS. L’article souligne aussi les limites des outils non maintenus embarquant une ancienne version de nikic/php-parser, comme PHPMetrics ou PDepend, devenus incompatibles avec certaines nouveautés de PHP 8.4/8.5.
L’auteur explique comment son passage d’un Raspberry Pi 3 à un mini PC x86 plus puissant l’amène à envisager la conteneurisation de son serveur domestique afin d’héberger ses propres services liés à la lecture de mangas, BD et ebooks sur tablette. Il décrit l’intérêt d’outils comme Docker pour isoler et déployer facilement différentes applications auto-hébergées, notamment dans un contexte où les usages personnels évoluent et nécessitent davantage de souplesse et de ressources matérielles. Le billet met aussi en avant les avantages pratiques d’une machine disposant de davantage de RAM et d’une architecture x86-64, ouvrant la porte à des solutions d’hébergement plus modernes et modulaires. Il donne quelques conseils, notamment sur l'utilisation de Traefik
Cet article présente une approche optimisée pour le développement Symfony en utilisant des Dev Containers sans root, Xdebug 3.4 et PHP 8.4, afin d’améliorer l’expérience développeur (DX). L’auteur met en avant l’utilisation de FrankenPHP, un serveur d’applications performant en Go, remplaçant Nginx + PHP-FPM, pour des temps de réponse rapides. La solution repose sur des conteneurs isolés et sécurisés, évitant les problèmes de permissions classiques avec Docker.
L’accent est mis sur la compatibilité IDE (VS Code et PhpStorm) et la résolution des écueils courants, comme les conflits d’architecture ou les montages de volumes. Les conteneurs rootless résolvent les erreurs de permissions en mappant l’utilisateur du conteneur à l’utilisateur local, éliminant le besoin de commandes comme chmod -R 777.
Enfin, l’article détaille la création d’un projet Symfony 7.4 via un conteneur temporaire pour Composer, sans installation locale de PHP. Le choix de l’image Docker (Alpine vs Debian) est crucial pour éviter des incompatibilités avec certains IDE, comme les plantages de JetBrains.
Docker Bake est un outil qui simplifie et optimise la construction d'images Docker en offrant une approche déclarative et standardisée. Il s'appuie sur BuildKit et Buildx pour paralléliser les builds, gérer efficacement le cache et les dépendances, tout en évitant les scripts shell complexes et fragiles. Contrairement aux méthodes traditionnelles, souvent limitées par des dépendances aux systèmes d'exploitation et des séquences de builds séquentielles, Docker Bake sépare clairement la configuration des variables (dans des fichiers HCL ou YAML) et la définition des builds, facilitant ainsi la maintenance et l'évolutivité.
L'outil permet de définir des targets (cibles de build) avec leurs paramètres, plateformes et dépendances, tout en exploitant des fonctionnalités avancées comme le matrix build pour générer plusieurs variantes d'images en une seule commande. Par exemple, il est possible de construire simultanément des images pour différentes architectures (amd64, arm64) ou versions de langage, tout en optimisant le cache et les layers réutilisables. Cette approche réduit significativement le temps d'exécution et améliore la reproductibilité des builds.
Enfin, Docker Bake intègre des mécanismes de validation et de configuration centralisée, évitant les erreurs liées aux scripts shell et aux variables d'environnement mal gérées. Les fichiers de configuration (comme vars.hcl et docker-bake.hcl) permettent une gestion modulaire et collaborative, similaire à des outils comme Terraform. L'exécution des builds se fait via des commandes simples (docker buildx bake), avec des options de dry-run pour le débogage, rendant le processus plus robuste et adapté aux environnements DevOps modernes.
Web-Check est un outil open source d'OSINT (Open Source Intelligence) conçu pour analyser en profondeur n'importe quel site web. Il permet d'obtenir des informations détaillées sur l'infrastructure, la sécurité et les technologies utilisées par un site, comme les adresses IP, les certificats SSL, les en-têtes HTTP, les cookies, les ports ouverts ou encore les extensions DNS sécurisées.
L'outil propose une interface centralisée affichant des données techniques variées, utiles pour évaluer la performance, la sécurité ou l'empreinte carbone d'un site. Une version hébergée est accessible via web-check.as93.net, et le projet peut être déployé localement via Docker ou des plateformes comme Netlify et Vercel.
Stirling Image est un outil open source sous forme de conteneur Docker qui propose plus de 30 fonctionnalités de traitement d'images, incluant le redimensionnement, la compression, la suppression d'arrière-plan, l'OCR ou encore l'amélioration de résolution, le tout avec des modèles d'IA locaux. L'application fonctionne hors ligne, sans transmission de données vers le cloud ni télémétrie, garantissant une confidentialité totale des images traitées. Elle s'installe facilement via une commande Docker unique et supporte les architectures AMD64 et ARM64, y compris les GPU NVIDIA pour une accélération matérielle.
Maintenant est un outil de monitoring unifié conçu pour remplacer plusieurs solutions spécialisées par un seul conteneur Docker, simplifiant ainsi la surveillance des infrastructures auto-hébergées. L’outil surveille automatiquement les conteneurs Docker et Kubernetes, les endpoints HTTP/TCP, les certificats TLS, les heartbeats, les métriques système et détecte les configurations réseau dangereuses, le tout sans configuration manuelle. Il propose également une page de statut publique en temps réel et des alertes personnalisables.
L’application se distingue par son approche minimaliste : un binaire Go unique avec un frontend embarqué, sans dépendances externes (comme Redis ou PostgreSQL), et une consommation légère de ressources (~17 Mo de RAM). La configuration repose sur des labels Docker, éliminant le besoin de fichiers YAML complexes. De plus, il intègre un serveur MCP pour une intégration avancée et une détection automatique des mises à jour des images.
Maintenant cible particulièrement les utilisateurs de solutions comme Uptime Kuma, Portainer ou Dozzle, en offrant une alternative plus complète et centralisée. Son architecture légère et sa compatibilité avec les environnements comme les VPS ou les Raspberry Pi en font une solution accessible pour les petites et moyennes infrastructures.
Bearstech partage son retour d’expérience sur l’utilisation de Docker en production, recommandant son usage uniquement dans des cas précis : pour des applications legacy ou imposées par un éditeur (ex: PHP 5), ou pour des outils complexes comme GitLab qui nécessitent un environnement spécifique. En revanche, ils déconseillent fortement Docker pour les bases de données (sauf en développement), en raison des risques de corruption ou d’arrêts brutaux. L’article insiste aussi sur les bonnes pratiques : toujours placer un proxy devant les conteneurs et éviter de donner accès au socket Docker pour des raisons de sécurité. Une lecture utile pour évaluer l’adéquation de Docker à son infrastructure.
Dans ce second volet de leur série sur le déploiement On-Premise, JoliCode explique comment automatiser et simplifier la création et la publication des images Docker en production grâce à Castor, un outil de gestion de tâches PHP. L’article détaille une task Castor (production:build) qui vérifie la branche Git, les modifications non commitées, construit les images et les pousse vers un registre privé, tout en gérant les tags de version (format YYYY.MM.DD). L’objectif est de rendre le processus de déploiement plus fluide et autonome pour les clients. Un exemple de code et des explications sur l’intégration avec GitLab CI sont également fournis.
JoliCode explique comment ils ont modernisé une application Symfony 7.4 (avec PHP 8.4 et FrankenPHP) pour l'archéologie, en permettant un déploiement hybride : SaaS en ligne et On-Premise (OP) hors réseau. Leur solution repose sur une stack Docker unifiée (mêmes images pour tous les environnements), pilotée par des tâches Castor pour simplifier le développement local. L'article détaille l'architecture Docker, l'automatisation des builds et le déploiement OP, avec des feature flags via variables d'environnement. Une approche pragmatique pour concilier flexibilité et contraintes métiers.
Ce guide explique comment migrer proprement un conteneur Docker d'un hôte Linux à un autre, en insistant sur l'importance de l'inventaire des services (conteneurs, volumes, ports, variables) et des données (bind mounts ou volumes Docker). L'auteur recommande d'utiliser Docker Compose pour simplifier le processus, de tester la procédure sur un service non critique, et de sauvegarder les données avant toute manipulation. Il détaille aussi les commandes pour lister les conteneurs et leurs volumes, et souligne l'importance de maintenir l'ancien serveur actif temporairement pour vérifier le bon fonctionnement des services après migration.
Dozzle est un projet open source qui fournit une application web légère permettant de visualiser en temps réel les logs des conteneurs Docker afin de faciliter le monitoring et le débogage d’applications conteneurisées. L’outil diffuse directement les journaux via l’API Docker sans les stocker, ce qui le rend simple et peu gourmand en ressources, et offre des fonctionnalités comme la recherche dans les logs (regex ou requêtes), l’affichage simultané de plusieurs conteneurs et des statistiques en direct sur l’utilisation CPU et mémoire.
Projet open source proposant docker-backup, un outil en ligne de commande écrit en TypeScript permettant de sauvegarder des environnements Docker en capturant les configurations des conteneurs ainsi que leurs réseaux et volumes associés. Il peut également inclure les données physiques des volumes dans des archives compressées et exporter les sauvegardes vers des destinations externes comme des services compatibles S3 ou via rsync, tout en utilisant un format simple basé sur JSON et des commandes comme create, list et export pour gérer les sauvegardes.
Ce tutoriel explique comment configurer Caddy 2 avec un certificat SSL wildcard pour tous les sous-domaines d'un domaine, en utilisant le défi DNS avec OVH comme fournisseur DNS. Il couvre l'installation de Caddy via Docker, l'ajout du plugin OVH, la configuration du fichier Caddyfile, et l'obtention des identifiants nécessaires pour OVH. Le guide est détaillé et adapté pour ceux qui souhaitent migrer ou tester Caddy comme reverse proxy.
Dockhand est un outil moderne et intuitif pour administrer les conteneurs Docker, offrant une alternative gratuite pour les particuliers et une version payante pour les entreprises. Il permet de gérer les conteneurs (démarrer, arrêter, supprimer, etc.), de superviser leur état, d'accéder à un terminal direct, et de gérer les réseaux, registres et volumes. Dockhand facilite également le déploiement de stacks Docker Compose via un éditeur visuel et un workflow GitOps complet, avec des mises à jour planifiées. L'installation est simple et l'outil est auto-hébergeable, idéal pour les homelabs.
Portracker est un outil open source, auto-hébergé, pour le suivi et la découverte en temps réel des ports réseau. Il permet de cartographier automatiquement les services en cours d'exécution sur vos systèmes, éliminant ainsi le besoin de suivre manuellement les ports dans des feuilles de calcul. Parmi ses fonctionnalités clés, on trouve la détection automatique des ports, des collecteurs spécifiques à la plateforme (Docker, TrueNAS), la détection des ports internes, une interface utilisateur moderne et réactive, et la possibilité de surveiller plusieurs instances en peer-to-peer. Le déploiement est simplifié grâce à Docker.
Le guide explique comment automatiser un serveur multimédia Docker en ajoutant Prowlarr, Sonarr, Radarr ainsi que des outils annexes comme Recyclarr et qbit_manage à l’architecture de la partie 1 pour automatiser la recherche, le téléchargement et le classement des films/séries, en insistant sur une configuration correcte des volumes et des liaisons Docker, l’intégration des indexeurs via Prowlarr et une connexion sécurisée à qBittorrent via un reverse-proxy, tout en utilisant Recyclarr pour appliquer des règles de qualité des releases.
Un agent Azure DevOps self-hosted peut rapidement saturer son disque à cause de l'accumulation d'images Docker et de cache non nettoyés. Azure DevOps ne gère pas ces éléments, laissant la responsabilité de l'entretien à l'utilisateur. La solution proposée est un script de nettoyage automatique via cron, supprimant les images et volumes Docker de plus de 7 jours, libérant ainsi de l'espace disque. Un monitoring avec CloudWatch est également recommandé pour anticiper les saturations futures.
Ce billet de blog présente une configuration impliquant trois outils : StepCA, Caddy et MISP, via le protocole ACME. L'auteur, ayant travaillé sur du CTI (Cyber Threat Intelligence), utilise MISP, une plateforme open source pour partager des informations sur les menaces. Il explique comment il a mis en place une PKI interne avec StepCA pour gérer les certificats TLS, et utilise Caddy comme reverse proxy pour le SSL offloading. Le lab comprend une root CA offline, une sub CA avec serveur ACME privé, un serveur DNS, et une VM avec Docker exécutant Caddy et MISP. L'article détaille également le rôle du CTI et de MISP dans la cybersécurité proactive.