2 environnements sont proposés :
- Environnement par défaut : build les container en mode "production". Les instances front sont build et servies par un nginx.
- Dev : les containers sont démarrés avec Node afin de permettre le développement local.
Les environnements sont disponible grace au multi-stage Dockerfile. https://docs.docker.com/develop/develop-images/multistage-build/
L'utilisation de plusieurs environnements et fichiers docker compose : https://docs.docker.com/compose/extends/
docker compose build
docker compose up -d
Copier le sample.env
en .env
et rajouter si besoin des valeurs nécessaires
docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml build
docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml up -d
Le démarrage de tous les projets frontend en simmultané utilise beaucoup de ressources réseau car les projets sont build au démarrage.
Pour coder sur pix-orga :
docker compose -f docker-compose.yaml -f docker-compose-dev-front.yaml build orga
docker compose -f docker-compose.yaml -f docker-compose-dev-front.yaml up -d orga
docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml -f docker-compose-dev-front.yaml build api orga docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml -f docker-compose-dev-front.yaml up -d api orga
docker compose exec api npm run db:reset
alias dcapi="docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml"
alias dcfront="docker compose -f docker-compose.yaml -f docker-compose-dev-front.yaml"
alias dcall="docker compose -f docker-compose.yaml -f docker-compose-dev-api.yaml -f docker-compose-dev-front.yaml"
Dans l'environnement de dev, les node_modules sont stockés dans un volumes dédié et ne sont pas dans le dossier de travail afin d'ignorer les possibles modifications / différences entre l'environement local et docker.
En cas de problème et afin de repartir à zéro sur les node_modules, supprimez le volume :
docker volume rm <VOLUME_NAME>
(voir fichier docker-compose-dev-front)
API : http://localhost:3000 mon-pix : http://localhost:4200 Orga : http://localhost:4201 Admin : http://localhost:4202 Certif : http://localhost:4203