Projet fil rouge : Projet fil rouge : API + base conteneurisées, livrées en CI

Projet fil rouge — Projet fil rouge : API + base conteneurisées, livrées en CI

⬇️ Télécharger le compose d'exemple (YML) ⬇️ Télécharger le Dockerfile d'exemple ⬇️ Aide-mémoire Docker (TXT)

Étape 0 · Niveau 0 — Environnement prêt

Installez Docker, validez hello-world, créez le dossier projet/mon-app avec api/, compose.yml et .github/workflows. Le rituel run/ps/stop/rm doit être fluide.

Étape 1 · Niveau 1 — Services du Hub câblés

Lancez postgres:16.4 avec volume pgdata sur réseau monapp (sans publier la base). Lancez adminer en profil dev. Prouvez rm + relance sans perte et jointure par nom.

Étape 2 · Niveau 2 — Image maison durcie

Écrivez le Dockerfile de l'api (slim, dépendances d'abord, USER node, .dockerignore), buildez mon-app:1.0, scannez, corrigez jusqu'à zéro critique.

Étape 3 · Niveau 3 — Stack Compose complet

Assemblez api (build) + bdd (volume) + adminer (profil dev) avec DATABASE_URL en variable, depends_on simple puis retry applicatif. Validez config, up --build, down/up sans perte.

Étape 4 · Niveau 4 — Fiable et livré en CI

Ajoutez restart + healthcheck bdd + condition healthy, proxy publié seul, sauvegarde dump + snapshot testée, workflow CI qui build + pousse le SHA vers GHCR.

Étape 5 · Niveau 5 — Prêt pour la suite

Auditez avec la checklist 5.4 (8 oui), testez Swarm en mono-nœud (3 réplicas), déployez le K8s minimal sur kind. Planifiez la DCA.

Critères de réussite