# Bonsai — Stack complète Stack Docker Compose unifiée pour l'application Bonsai : base de données, API et webapp. Les images sont **buildées depuis les sources** de la branche `main` de chaque dépôt au moment du build. ## Services | Service | Image de base | Source | |---------|--------------|--------| | `db` | `postgres:16-alpine` | — | | `api` | `eclipse-temurin:25-jdk` → `25-jre-alpine` | `Bonsai-api` (branche `main`) | | `webapp` | `node:22-alpine` → `nginx:alpine` | `Bonsai-webapp` (branche `main`) | ## Prérequis - Docker avec BuildKit activé (Docker 23+) - Accès SSH au dépôt Gitea (`git.goutailler-olivier.com:2222`) avec la clé chargée dans l'agent - Réseau Docker externe `proxy` (Traefik) ## Démarrage ```bash # 1. Configurer les variables d'environnement cp .env.example .env # Éditer .env et définir POSTGRES_PASSWORD # 2. S'assurer que la clé SSH est chargée ssh-add ~/.ssh/ # 3. Builder les images (clone + compile) docker compose build --ssh default # 4. Démarrer la stack docker compose up -d ``` ## Mise à jour Pour rebuilder depuis le dernier commit de `main` : ```bash docker compose build --ssh default --no-cache docker compose up -d ``` ## Arrêt ```bash docker compose down ``` Les données PostgreSQL sont persistées dans `~/Applications/data/bonsai/db_data` et les fichiers uploadés dans `~/Applications/data/bonsai/uploads`.