Files
_Assistant_Lead_Tech/60_playbooks/bootstrap_projet_docker.md
2026-03-08 14:11:10 +01:00

2.8 KiB
Raw Blame History

Playbook — Bootstrap dun projet Docker sur le NUC

Ce document décrit la procédure standard pour initialiser un nouveau projet Docker sur lenvironnement NUC (docker-dev).

Objectifs :

  • garantir une structure cohérente entre les projets
  • centraliser les volumes persistants
  • préparer le projet pour le développement via VSCode Remote / SSH

Architecture standard du NUC

Tous les projets suivent la structure suivante :

/srv/
  projects/        # code source des projets
  docker-data/     # volumes persistants Docker
  backups/         # sauvegardes

Exemple pour un projet portfolio :

/srv/projects/portfolio
/srv/docker-data/portfolio/

Étape 1 — Cloner le projet

Depuis la VM docker-dev :

cd /srv/projects
git clone <repo>
cd <repo>

Exemple :

git clone git@github.com:xxx/portfolio.git

Étape 2 — Préparer les volumes persistants

Créer le dossier dédié au projet :

mkdir -p /srv/docker-data/<nom-projet>

Exemples :

/srv/docker-data/portfolio/postgres
/srv/docker-data/portfolio/uploads

Principe :

  • aucune donnée persistante ne doit vivre dans le repo Git
  • tous les volumes doivent être externalisés dans /srv/docker-data

Étape 3 — Adapter le docker-compose

Les services doivent utiliser les volumes du NUC.

Exemple :

services:
  postgres:
    image: postgres:17
    volumes:
      - /srv/docker-data/portfolio/postgres:/var/lib/postgresql/data

Bonnes pratiques :

  • éviter les volumes anonymes
  • préférer les chemins absolus

Étape 4 — Préparer la base de données (si nécessaire)

Si le projet utilise la base partagée :

psql -U postgres_su

Créer :

CREATE USER <user> WITH PASSWORD '<password>';
CREATE DATABASE <db> OWNER <user>;

Étape 5 — Initialiser la mémoire projet

Dans le repo :

  1. copier le template :
70_templates/projet_CLAUDE.md
  1. créer le fichier :
CLAUDE.md
  1. créer le symlink pour Codex :
ln -s CLAUDE.md AGENTS.md

Ce fichier servira de mémoire active du projet.


Étape 6 — Lancer lenvironnement

Depuis le dossier du projet :

docker compose up -d

Vérifier :

docker ps

Étape 7 — Vérification

Contrôler :

  • que les conteneurs démarrent correctement
  • que les volumes sont bien montés
  • que la base de données est accessible

Commandes utiles :

docker compose logs -f
docker logs <container>

Bonnes pratiques

  • garder les volumes hors du repo
  • documenter la stack dans CLAUDE.md
  • vérifier les ports exposés

Quand utiliser ce playbook

Ce playbook doit être utilisé lorsque :

  • un nouveau projet Docker est créé
  • un projet est installé pour la première fois sur le NUC
  • un environnement doit être reproduit sur une nouvelle machine