diff --git a/Changelog.md b/Changelog.md index f721cb8..3dc4209 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-06-07 — Ajout du service Olhar API + +- `Home.md` — ajout de Olhar API dans l'architecture et le tableau des services +- `Installation-Production.md` — section 8 Olhar API : `docker-compose.yml`, variables d'environnement, secrets Gitea requis ; renumérotation des sections 9→12 +- `Mise-a-jour-Applications.md` — ajout de la procédure de rollback Olhar API avec option `restore_db` ; ajout de `olhar-api` dans la boucle de mise à jour globale + ## 2026-06-07 — Ajout de Watchtower et documentation du WATCHTOWER_TOKEN - `Home.md` — ajout de Watchtower dans l'architecture et le tableau des services diff --git a/Home.md b/Home.md index 1c1455f..53041b4 100644 --- a/Home.md +++ b/Home.md @@ -18,7 +18,9 @@ Internet ├── luz.goutailler-olivier.com → Luz (front-end Angular) ├── cloud.goutailler-olivier.com → Nextcloud ├── notes.goutailler-olivier.com → Trilium - ├── olhar.goutailler-olivier.com → Olhar + ├── olhar.goutailler-olivier.com + │ ├── /api → Olhar API (Spring Boot) + │ └── / → Olhar (front-end) └── watchtower.goutailler-olivier.com → Watchtower (mises à jour automatiques) ``` @@ -34,6 +36,7 @@ Internet | Luz | `luz/` | `luz.goutailler-olivier.com` | | Nextcloud | `nextcloud/` | `cloud.goutailler-olivier.com` | | Trilium | `trilium/` | `notes.goutailler-olivier.com` | +| Olhar API | `olhar-api/` | `olhar.goutailler-olivier.com/api` | | Olhar | `olhar/` | `olhar.goutailler-olivier.com` | | Watchtower | `watchtower/` | `watchtower.goutailler-olivier.com` | diff --git a/Installation-Production.md b/Installation-Production.md index 81040dc..5456829 100644 --- a/Installation-Production.md +++ b/Installation-Production.md @@ -156,7 +156,39 @@ L'image `git.goutailler-olivier.com/gato/luz:latest` est construite par la CI Gi --- -## 8. Olhar +## 8. Olhar API + +L'image est construite par la CI Gitea et poussée sur le registre `git.goutailler-olivier.com/gato/olhar-api:latest`. + +```bash +cd olhar-api/ +echo "POSTGRES_PASSWORD=" > .env +docker compose up -d +``` + +Variables d'environnement : + +| Variable | Description | +|---|---| +| `POSTGRES_PASSWORD` | Mot de passe PostgreSQL (injecté via `.env`) | +| `DATASOURCE_URL` | `jdbc:postgresql://db:5432/olhar` (défaut réseau interne) | +| `KEYCLOAK_JWKS_URI` | `https://auth.goutailler-olivier.com/realms/olhar/protocol/openid-connect/certs` | +| `CORS_ALLOWED_ORIGIN_PROD` | `https://olhar.goutailler-olivier.com` | + +Flyway applique automatiquement les migrations SQL au démarrage. + +**Secrets Gitea à configurer au niveau de l'organisation `gato` :** + +| Secret | Description | +|---|---| +| `RELEASE_TOKEN` | Token Gitea avec droits `write:packages` et `write:repository` | +| `WATCHTOWER_TOKEN` | Token HTTP de l'API Watchtower pour déclencher le redéploiement (voir section 12) | +| `SERVER_HOST` | Adresse IP ou hostname du serveur de production | +| `SERVER_SSH_KEY` | Clé SSH privée pour accéder au serveur | + +--- + +## 9. Olhar ```bash cd olhar/ @@ -170,11 +202,11 @@ L'image `git.goutailler-olivier.com/gato/olhar:latest` est construite par la CI | Secret | Description | |---|---| | `RELEASE_TOKEN` | Token Gitea avec droits `write:packages` et `write:repository` | -| `WATCHTOWER_TOKEN` | Token HTTP de l'API Watchtower pour déclencher le redéploiement (voir section 11) | +| `WATCHTOWER_TOKEN` | Token HTTP de l'API Watchtower pour déclencher le redéploiement (voir section 12) | --- -## 9. Nextcloud +## 10. Nextcloud ```bash cd nextcloud/ @@ -192,7 +224,7 @@ Variables à personnaliser dans `docker-compose.yml` avant le premier lancement --- -## 10. Trilium +## 11. Trilium ```bash cd trilium/ @@ -207,7 +239,7 @@ mkdir -p /home/gato/Applications/Trilium/data --- -## 11. Watchtower +## 12. Watchtower Watchtower surveille les conteneurs Docker et les redémarre automatiquement lorsqu'une nouvelle image est disponible. Il est déclenché par les pipelines CI/CD via son API HTTP sécurisée par un token. @@ -243,7 +275,7 @@ Le même token doit être ajouté comme secret `WATCHTOWER_TOKEN` dans les param | Organisation | Chemin dans Gitea | Dépôts concernés | |---|---|---| -| `gato` | Settings → Secrets → New Secret | Luz, Olhar | +| `gato` | Settings → Secrets → New Secret | Luz, Olhar, Olhar API | | `bonsai` | Settings → Secrets → New Secret | Bonsai-webapp | > **Important :** la valeur du secret Gitea doit être identique à celle définie dans le `.env` serveur. @@ -260,10 +292,11 @@ Le même token doit être ajouté comme secret `WATCHTOWER_TOKEN` dans les param 5. Bonsai API 6. Bonsai Webapp 7. Luz -8. Olhar -9. Nextcloud -10. Trilium -11. Watchtower +8. Olhar API +9. Olhar +10. Nextcloud +11. Trilium +12. Watchtower ``` --- diff --git a/Mise-a-jour-Applications.md b/Mise-a-jour-Applications.md index 57bbcda..10dc997 100644 --- a/Mise-a-jour-Applications.md +++ b/Mise-a-jour-Applications.md @@ -160,6 +160,20 @@ docker start bonsai-api --- +## Rollback Olhar API (avec ou sans restauration BDD) + +1. Aller dans **Gitea → Olhar-api → Actions → Rollback → Run workflow** +2. Saisir la version cible (ex. `v1.2.3`) +3. Choisir `restore_db` : + - `no` (défaut) — rollback du code uniquement (migrations Flyway compatibles) + - `yes` — rollback du code **et** restauration de la base de données depuis le backup créé avant ce déploiement + +> **Attention** : `restore_db=yes` écrase toutes les données créées depuis le déploiement à annuler. À réserver aux cas où la migration de schéma est incompatible avec l'ancienne version. + +Les backups sont stockés dans `/opt/backups/olhar-api/` sur le serveur. + +--- + ## Rollback Olhar 1. Aller dans **Gitea → Olhar → Actions → Rollback → Run workflow** @@ -171,7 +185,7 @@ docker start bonsai-api ## Mettre à jour tous les services d'un coup ```bash -for dir in traefik keycloak gitea bonsai-api bonsai-webapp luz olhar nextcloud trilium; do +for dir in traefik keycloak gitea bonsai-api bonsai-webapp luz olhar-api olhar nextcloud trilium; do echo "=== $dir ===" (cd "$dir" && docker compose pull && docker compose up -d) done