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>
+6
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# 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
|
## 2026-06-07 — Ajout de Watchtower et documentation du WATCHTOWER_TOKEN
|
||||||
|
|
||||||
- `Home.md` — ajout de Watchtower dans l'architecture et le tableau des services
|
- `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)
|
├── luz.goutailler-olivier.com → Luz (front-end Angular)
|
||||||
├── cloud.goutailler-olivier.com → Nextcloud
|
├── cloud.goutailler-olivier.com → Nextcloud
|
||||||
├── notes.goutailler-olivier.com → Trilium
|
├── 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)
|
└── watchtower.goutailler-olivier.com → Watchtower (mises à jour automatiques)
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -34,6 +36,7 @@ Internet
|
|||||||
| Luz | `luz/` | `luz.goutailler-olivier.com` |
|
| Luz | `luz/` | `luz.goutailler-olivier.com` |
|
||||||
| Nextcloud | `nextcloud/` | `cloud.goutailler-olivier.com` |
|
| Nextcloud | `nextcloud/` | `cloud.goutailler-olivier.com` |
|
||||||
| Trilium | `trilium/` | `notes.goutailler-olivier.com` |
|
| Trilium | `trilium/` | `notes.goutailler-olivier.com` |
|
||||||
|
| Olhar API | `olhar-api/` | `olhar.goutailler-olivier.com/api` |
|
||||||
| Olhar | `olhar/` | `olhar.goutailler-olivier.com` |
|
| Olhar | `olhar/` | `olhar.goutailler-olivier.com` |
|
||||||
| Watchtower | `watchtower/` | `watchtower.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
|
```bash
|
||||||
cd olhar/
|
cd olhar/
|
||||||
@@ -170,11 +202,11 @@ L'image `git.goutailler-olivier.com/gato/olhar:latest` est construite par la CI
|
|||||||
| Secret | Description |
|
| Secret | Description |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `RELEASE_TOKEN` | Token Gitea avec droits `write:packages` et `write:repository` |
|
| `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
|
```bash
|
||||||
cd nextcloud/
|
cd nextcloud/
|
||||||
@@ -192,7 +224,7 @@ Variables à personnaliser dans `docker-compose.yml` avant le premier lancement
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 10. Trilium
|
## 11. Trilium
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd trilium/
|
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.
|
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 |
|
| 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 |
|
| `bonsai` | Settings → Secrets → New Secret | Bonsai-webapp |
|
||||||
|
|
||||||
> **Important :** la valeur du secret Gitea doit être identique à celle définie dans le `.env` serveur.
|
> **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
|
5. Bonsai API
|
||||||
6. Bonsai Webapp
|
6. Bonsai Webapp
|
||||||
7. Luz
|
7. Luz
|
||||||
8. Olhar
|
8. Olhar API
|
||||||
9. Nextcloud
|
9. Olhar
|
||||||
10. Trilium
|
10. Nextcloud
|
||||||
11. Watchtower
|
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
|
## Rollback Olhar
|
||||||
|
|
||||||
1. Aller dans **Gitea → Olhar → Actions → Rollback → Run workflow**
|
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
|
## Mettre à jour tous les services d'un coup
|
||||||
|
|
||||||
```bash
|
```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 ==="
|
echo "=== $dir ==="
|
||||||
(cd "$dir" && docker compose pull && docker compose up -d)
|
(cd "$dir" && docker compose pull && docker compose up -d)
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user