bba8216cea
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
# 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. La clé SSH est transmise au build via un secret BuildKit — elle n'est jamais gravée dans les couches de l'image.
|
|
|
|
## 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+)
|
|
- Une clé SSH ayant accès au dépôt Gitea (`git.goutailler-olivier.com:2222`)
|
|
- Réseau Docker externe `proxy` (Traefik)
|
|
|
|
## Démarrage
|
|
|
|
```bash
|
|
# 1. Configurer les variables d'environnement
|
|
cp .env.example .env
|
|
# Éditer .env : définir POSTGRES_PASSWORD et SSH_KEY_PATH
|
|
|
|
# 2. Builder les images (clone + compile)
|
|
docker compose build
|
|
|
|
# 3. Démarrer la stack
|
|
docker compose up -d
|
|
```
|
|
|
|
## Mise à jour
|
|
|
|
Pour rebuilder depuis le dernier commit de `main` (sans tout reconstruire) :
|
|
|
|
```bash
|
|
CACHEBUST=$(date +%s) docker compose build
|
|
docker compose up -d
|
|
```
|
|
|
|
`CACHEBUST` invalide uniquement l'étape clone+build. Les couches précédentes (installation des outils, image de base) restent en cache — le build reste rapide.
|
|
|
|
## 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`.
|