app | ||
data | ||
docker_build | ||
.gitignore | ||
docker-compose.yml | ||
docker-node.sh | ||
README.md |
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
Présentation
L'objectif de ce dépôt est de proposer et de faire évoluer une configuration de départ pour démarrer très simplement un nouveau projet Symfony dans des conteneurs Docker.
En suivant pas-à-pas les instructions à partir du chapitre "Installation", on peut démarrer en quelques minutes un nouveau projet.
Le dépôt propose plusieurs branches qui peuvent être utilisées selon le point de départ recherché:
1_docker_ready
La branche 1_docker_ready
fournit juste le docker-compose.yml et les Dockerfile qui permettent de construire les conteneurs.
$ cd my-project-dir
$ docker-compose build
$ docker-compose up -d
$ docker-compose exec -u 1000 php bash
A ce stade les commandes composer
et symfony
sont disponibles pour lancer la création du projet.
Après ça on choisira dans le fichier app/.env
le type de base de donnée. Un conteneur est prévu pour utiliser postgresql.
2_symfony_demo
- commandes exécutées:
$ symfony new --demo demo
$ mv demo/* . && mv demo/.* . && rmdir demo
Cette branche démarre d'une installation toute prête de la demo Symfony. La db est enregistrée dans le repo dans un simple fichier sqlite (app/data/database.sqlite
). Le conteneur docker postgresql est donc désactivé.
3_start_new_project
- commandes exécutées:
$ symfony new myproject
$ mv myproject/* . && mv myproject/.* . && rmdir myproject
composer require annotations twig orm form form validator maker-bundle security-csrf \ && composer require --dev profiler
- Adapt querystring in
./app/.env
:--- DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8" +++ DATABASE_URL="postgresql://postgres:secret@db:5432/postgres?serverVersion=12&charset=utf8"
- Create database schema:
bin/console doctrine:schema:create
$ composer require symfony/webpack-encore-bundle
and$ yarn install --force
$ yarn add sass sass-loader
$ composer require --dev symfony/debug-bundle symfony/var-dumper