From affd015d0fdfc225e1cc768b87d820322fbd4774 Mon Sep 17 00:00:00 2001 From: Gato Date: Mon, 8 Jun 2026 07:06:07 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20fusion=20olhar-api=20dans=20olhar,=20mi?= =?UTF-8?q?se=20=C3=A0=20jour=20wiki?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- Changelog.md | 6 ++++ Home.md | 3 +- Installation-Production.md | 67 +++++++++++++++---------------------- Mise-a-jour-Applications.md | 24 ++++++------- 4 files changed, 46 insertions(+), 54 deletions(-) diff --git a/Changelog.md b/Changelog.md index 002689b..deddf54 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-06-08 — Fusion olhar-api dans olhar : compose unifié (db + api + pwa) + +- `Home.md` — suppression de la ligne `olhar-api/` ; entrée `olhar/` mise à jour pour mentionner API + PWA + BDD +- `Installation-Production.md` — sections 8 (Olhar API) et 9 (Olhar) fusionnées en une seule section 8 ; ajout de `JWT_SECRET` dans les variables requises ; ordre de démarrage renuméroté (11 étapes au lieu de 12) +- `Mise-a-jour-Applications.md` — sections rollback Olhar API et Olhar fusionnées ; `olhar-api` supprimé de la boucle de mise à jour globale + ## 2026-06-07 — Ajout des fichiers .env.example et extraction des secrets hardcodés - `Installation-Production.md` — sections Gitea, Bonsai API, Olhar API, Nextcloud : instructions mises à jour pour utiliser `cp .env.example .env` ; ajout de la variable `GITEA_RUNNER_REGISTRATION_TOKEN` ; ajout des variables pgAdmin dans Nextcloud diff --git a/Home.md b/Home.md index 53041b4..7076fd2 100644 --- a/Home.md +++ b/Home.md @@ -36,8 +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` | +| Olhar | `olhar/` | `olhar.goutailler-olivier.com` (API + PWA + BDD) | | Watchtower | `watchtower/` | `watchtower.goutailler-olivier.com` | ## Pages diff --git a/Installation-Production.md b/Installation-Production.md index 6a92382..a7f4657 100644 --- a/Installation-Production.md +++ b/Installation-Production.md @@ -165,54 +165,42 @@ L'image `git.goutailler-olivier.com/gato/luz:latest` est construite par la CI Gi --- -## 8. Olhar API +## 8. Olhar -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/ -cp .env.example .env -# Éditer .env avec un mot de passe sécurisé -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 +Le dossier `olhar/` regroupe les trois services de l'application : la base PostgreSQL, l'API Spring Boot et la PWA Angular. Les images sont construites par la CI Gitea. ```bash cd olhar/ +cp .env.example .env +# Éditer .env avec des valeurs sécurisées docker compose up -d ``` -L'image `git.goutailler-olivier.com/gato/olhar:latest` est construite par la CI Gitea lors d'une release. Aucune variable d'environnement spécifique n'est requise. +Variables à définir dans `.env` : + +| Variable | Description | +|---|---| +| `POSTGRES_PASSWORD` | Mot de passe PostgreSQL partagé entre `db` et `api` | +| `JWT_SECRET` | Secret de signature JWT — générer avec `openssl rand -hex 32` | + +Variables d'environnement codées en dur dans le compose : + +| Variable | Valeur | +|---|---| +| `DATASOURCE_URL` | `jdbc:postgresql://db:5432/olhar` (réseau interne `olhar-net`) | +| `CORS_ALLOWED_ORIGIN_PROD` | `https://olhar.goutailler-olivier.com` | +| `PHOTOS_STORAGE_PATH` | `/app/uploads` (monté sur `~/Applications/data/olhar/uploads`) | + +Flyway applique automatiquement les migrations SQL au démarrage de l'API. **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) | +| `WATCHTOWER_TOKEN` | Token HTTP de l'API Watchtower pour déclencher le redéploiement (voir section 11) | +| `SERVER_HOST` | Adresse IP ou hostname du serveur de production | +| `SERVER_SSH_KEY` | Clé SSH privée pour accéder au serveur | --- @@ -305,11 +293,10 @@ Le même token doit être ajouté comme secret `WATCHTOWER_TOKEN` dans les param 5. Bonsai API 6. Bonsai Webapp 7. Luz -8. Olhar API -9. Olhar -10. Nextcloud -11. Trilium -12. Watchtower +8. Olhar (db + api + pwa) +9. Nextcloud +10. Trilium +11. Watchtower ``` --- diff --git a/Mise-a-jour-Applications.md b/Mise-a-jour-Applications.md index 10dc997..83bde94 100644 --- a/Mise-a-jour-Applications.md +++ b/Mise-a-jour-Applications.md @@ -160,9 +160,17 @@ docker start bonsai-api --- -## Rollback Olhar API (avec ou sans restauration BDD) +## Rollback Olhar (API + PWA, avec ou sans restauration BDD) -1. Aller dans **Gitea → Olhar-api → Actions → Rollback → Run workflow** +### Rollback de la PWA + +1. Aller dans **Gitea → Olhar → Actions → Rollback → Run workflow** +2. Saisir la version cible (ex. `v1.2.3`) +3. Lancer — Watchtower redéploie automatiquement + +### Rollback de l'API (avec ou sans restauration BDD) + +1. Aller dans **Gitea → Olhar → 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) @@ -170,22 +178,14 @@ docker start bonsai-api > **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** -2. Saisir la version cible (ex. `v1.2.3`) -3. Lancer — Watchtower redéploie automatiquement +Les backups sont stockés dans `/opt/backups/olhar/` sur le serveur. --- ## Mettre à jour tous les services d'un coup ```bash -for dir in traefik keycloak gitea bonsai-api bonsai-webapp luz olhar-api olhar nextcloud trilium; do +for dir in traefik keycloak gitea bonsai-api bonsai-webapp luz olhar nextcloud trilium; do echo "=== $dir ===" (cd "$dir" && docker compose pull && docker compose up -d) done