Skip to content

Comment installer

D34DPlayer edited this page May 22, 2021 · 9 revisions

Des images docker sont utilisées pour les différents micro services, ceci pour faciliter l'installation en développement et en production et pour laisser la porte ouverte pour les différents outils d'orchestration.

Prérequis

  • Docker
  • docker-compose
  • git ou le zip avec les fichiers du repository
  • make

Développement

Pour mettre en place l'environnement de développement de zéro :

  1. Git clone ce repository, ou à défaut avoir un dossier avec le contenu de ce repository, et y rentrer.

  2. Créer un .env avec le .env.example (cp .env.example .env) et y changer les valeurs avec celles de l'environnement, les variables sont les suivantes :

    • DB_NAME, DB_USER et DB_PASS : Identifiants de la db postgres
    • WEB_PORT : Le port sur lequel on pourra atteindre le site dans le hôte
    • WEB_PORT_HTTP : Le port sur lequel on pourra atteindre le site en http dans le hôte
    • SECRET_KEY : Clé utilisée pour crypter les JWT (openssl rand -hex 32 pour générer une nouvelle)
    • DOMAIN_NAME : Nom de domaine de l'hôte
    • ACCESS_TOKEN_EXPIRE : Après combien le JWT expire
  3. Maintenant faut créer les images, pour ça suffit de lancer make build. Le build prend un petit temps la première fois, mais il ne faudra le faire que une seule fois en développement.

  4. Maintenant pour tout lancer, dans le dossier principal, make start.

  5. Pour arrêter les services suffit de faire make down et refaire l'étape 4 pour les relancer.

DB

Avec une nouvelle db, il faut mettre en place les tables et ajouter un utilisateur admin (il faut que les services soit en execution) : make setup_db

Pour mettre à jour une db existante : make upgrade

Production

En production il faut juste modifier les commandes make avec la forme make compose_file=docker-compose.prod.yml <action>.

Testing

Des tests peuvent être lancés avec make aussi :

  • make test-all - Lance l'environnement de test et exécute les tests backend et frontend.
  • make test-back - Exécute que les tests unitaires backend.
  • make test-front-unit - Exécute que les tests unitaires frontend.
  • make test-front-e2e - Exécute que les tests end-to-end frontend.