docs: documentation du service olhar-api

Ajout de la section d'installation, de la procédure de rollback et de
l'entrée dans l'architecture et les services.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:03:49 +02:00
parent 1c7b641fca
commit 5cb0c6d23c
4 changed files with 68 additions and 12 deletions
+6
@@ -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
+4 -1
@@ -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` |
+43 -10
@@ -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=<mot_de_passe_sécurisé>" > .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
```
---
+15 -1
@@ -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