Un environnement Symfony prêt à l’emploi
Dockerized Symfony Dev est né d’un besoin simple : pouvoir démarrer un projet Symfony dans un environnement local complet, reproductible et sécurisé, sans réinstaller ni reconfigurer manuellement chaque service.
L’objectif est de permettre à un développeur de récupérer un projet Symfony et de disposer rapidement du même environnement que le reste de l’équipe.
Une installation automatisée
Le kit fournit un installateur réutilisable qui ajoute la configuration Docker à un projet Symfony existant.
Il vérifie la structure du projet, refuse d’écraser les fichiers déjà présents et génère automatiquement les paramètres propres à chaque installation, notamment le nom du projet, le domaine local et les identifiants du stockage objet.
Une fois installé, l’environnement peut être préparé avec une seule commande :
make init
L’application devient ensuite accessible en HTTPS sur un domaine local, sans avoir à préciser de numéro de port.
Les services inclus
Le socle principal comprend :
PHP-FPM 8.5 avec Composer et Xdebug ;
Nginx avec HTTP/2 ;
PostgreSQL avec stockage persistant ;
Mailpit pour intercepter les emails ;
des certificats HTTPS locaux générés avec mkcert.
Des services facultatifs peuvent être activés grâce aux profils Docker Compose :
Redis pour le cache, les sessions ou Symfony Messenger ;
un worker Symfony Messenger pour les tâches asynchrones ;
Adminer avec le thème sombre Hydra ;
Garage pour disposer d’un stockage objet local compatible avec l’API S3.
Une expérience pensée pour les développeurs
Les opérations courantes sont regroupées derrière des commandes simples : démarrer les conteneurs, consulter les journaux, lancer la console Symfony, installer une dépendance Composer, exécuter les tests ou activer Xdebug.
Chaque développeur génère ses propres certificats et identifiants locaux. Aucun certificat, secret ou mot de passe généré n’est publié dans le dépôt.
Les ports des services sont exposés uniquement sur l’interface locale de la machine.
Un kit réutilisable
Ce projet n’est pas lié à une application particulière. Il a été conçu comme une base générique pouvant être installée sur différents projets Symfony.
Il permet de standardiser les environnements de développement, de faciliter l’arrivée de nouveaux contributeurs et de réduire les différences de configuration entre les membres d’une équipe.