Aller au contenu principal

Installation & déploiement

Enkadenn se déploie en une commande avec Docker Compose : un conteneur PostgreSQL (db) et l'application monolithe (app, API + interface web) servie sur le port 3000.

Prérequis

  • Docker et Docker Compose
  • Un accès au dépôt du projet

1. Configurer l'environnement

Copiez le modèle et renseignez vos valeurs :

cp .env.example .env

Variables importantes :

VariableRôle
JWT_SECRETObligatoire. Secret de signature des sessions. Générez-le, par ex. openssl rand -hex 32.
POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DBIdentifiants de la base.
APP_URLURL publique de l'application (utilisée dans les liens joueurs).
PORTPort exposé (défaut 3000).
RETENTION_DAYSPurge automatique des exercices archivés après N jours (0 = désactivé).
attention

Ne committez jamais votre fichier .env. Choisissez un JWT_SECRET fort et un mot de passe PostgreSQL robuste.

2. Démarrer

docker compose up -d --build

Au démarrage, le conteneur app applique automatiquement les migrations de base de données, puis lance l'API. L'application est ensuite disponible sur http://localhost:3000.

Page de connexion

3. Comptes de démonstration

En environnement de développement, le script de seed crée des organisations de démonstration, chacune avec un compte administrateur :

pnpm --filter @enkadenn/api db:seed

Les adresses et le mot de passe par défaut sont définis dans apps/api/prisma/seed.ts.

À faire dès la première connexion

Changez immédiatement le mot de passe par défaut des comptes créés par le seed. Ces identifiants ne doivent jamais servir en production.

Mettre à jour

Après avoir récupéré une nouvelle version du code :

docker compose up -d --build

Les nouvelles migrations sont appliquées au redémarrage. Les kits fournis sont importés dans chaque organisation au premier chargement de la bibliothèque.