Sous MAC, synchroniser les fichiers de développement est désastreux en terme de performance (même avec le flag "delegated", et même avec "mutagen"). Il est donc conseillé de n'utiliser docker que pour les bases de données.
Sous Linux, travailler dans les containers docker fonctionne bien par contre.
Créer les fichiers:
.env
=> à partir du fichier.env.dev.example.env
packages/backend/.env
à partir du fichierpackages/backend/.env.backend.dev.example.env
packages/backend/.env.backend.test.local.env
à partir du fichierpackages/backend/.env.backend.test.local.example.env
En mode full-docker
, le fichier packages/backend/.env
doit contenir:
POSTGRES_HOST=postgres
Ou utiliser le preset docker :
DOMIFA_ENV_PRESET=local-dev-docker.preset.env
Sinon:
POSTGRES_HOST=localhost
Ou utiliser le preset localhost :
DOMIFA_ENV_PRESET=local-dev.preset.env
Lancer l'environnement de dev:
./docker-compose.local.run.sh
Sous linux, on peut aussi démarrer les containers de dev, pour développer en mode full-docker
:
./docker-compose.local.run.sh --with-dev-containers
Pour stopper les containers:
./docker-compose.local.run.sh --stop
Pour supprimer les containers:
./docker-compose.local.run.sh --stop --remove
Pour purger complètement son environnement:
ATTENTION: cela va supprimer les bases de données et tous les volumes docker contenant le mot domifa
:
./docker-compose.local.run.sh --stop --remove --drop-domifa-volumes
En mode full-docker
(environnement démarré avec --with-dev-containers
), entrer dans les containers:
# /app/packages/backend
docker exec -it domifa-backend bash
# /app/packages/frontend
docker exec -it domifa-frontend bash
Les bases de données sont initialisées automatiquement lors dla création du container de dev (à partir des dumps de test).
Run backend app:
# /app/packages/backend
yarn start:dev
Run frontend app:
# /app/packages/frontend
yarn start