mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 13:31:43 +02:00
3.0 KiB
3.0 KiB
Playbook — Bootstrap d’un projet Docker sur le NUC
Ce document décrit la procédure standard pour initialiser un nouveau projet Docker sur l’environnement 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 :
Depuis la racine du projet :
gen-claude
Cette commande :
- génère
CLAUDE.mddepuis le template projet - crée
AGENTS.md -> CLAUDE.md - utilise le nom du dossier courant comme nom de projet par défaut
Mode explicite possible :
gen-claude <nom_du_projet>
Ce fichier servira de mémoire active du projet.
Étape 6 — Lancer l’environnement
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
Outils associés
scripts/generate_project_claude.sh— bootstrap de la mémoire projet