Aller au contenu principal

Déploiement

Le site Showcase est déployé en conteneur Docker, souvent avec le reste de la stack, mais il peut être autonome.

Stratégie Docker

Nous utilisons un build multi-étapes pour garder l'image légère (sortie standalone Next.js).

Le sidecar de migration

Une particularité du projet est le service migrate dans docker-compose.yml.

migrate:
command: ["npx", "prisma", "db", "push"]
restart: "no"
  • Pourquoi ? Nous utilisons prisma db push au lieu de migrate deploy car nous sommes souvent en mode prototypage pour le schéma du blog.
  • Workflow :
    1. Le conteneur migrate démarre.
    2. Il pousse le schéma vers MariaDB.
    3. Il s'arrête avec le code 0.
    4. Le conteneur web attend que migrate se termine avec succès avant de démarrer.

Variables d'environnement

VariableDescription
DATABASE_URLChaîne de connexion MariaDB (mysql://...)
SMTP_HOSTServeur mail (ex. smtp.gmail.com)
SMTP_USERAdresse email pour l'envoi des formulaires
NEXT_PUBLIC_ACKEE_DOMAINURL de l'instance Ackee