docs: fusion olhar-api dans olhar, mise à jour wiki

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 07:06:07 +02:00
parent 406bc6cb24
commit affd015d0f
4 changed files with 46 additions and 54 deletions
+6
@@ -1,5 +1,11 @@
# Changelog # 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 ## 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 - `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
+1 -2
@@ -36,8 +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` (API + PWA + BDD) |
| Olhar | `olhar/` | `olhar.goutailler-olivier.com` |
| Watchtower | `watchtower/` | `watchtower.goutailler-olivier.com` | | Watchtower | `watchtower/` | `watchtower.goutailler-olivier.com` |
## Pages ## Pages
+27 -40
@@ -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`. 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-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
```bash ```bash
cd olhar/ cd olhar/
cp .env.example .env
# Éditer .env avec des valeurs sécurisées
docker compose up -d 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` :** **Secrets Gitea à configurer au niveau de l'organisation `gato` :**
| 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 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 5. Bonsai API
6. Bonsai Webapp 6. Bonsai Webapp
7. Luz 7. Luz
8. Olhar API 8. Olhar (db + api + pwa)
9. Olhar 9. Nextcloud
10. Nextcloud 10. Trilium
11. Trilium 11. Watchtower
12. Watchtower
``` ```
--- ---
+12 -12
@@ -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`) 2. Saisir la version cible (ex. `v1.2.3`)
3. Choisir `restore_db` : 3. Choisir `restore_db` :
- `no` (défaut) — rollback du code uniquement (migrations Flyway compatibles) - `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. > **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. Les backups sont stockés dans `/opt/backups/olhar/` 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
--- ---
## 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-api olhar nextcloud trilium; do for dir in traefik keycloak gitea bonsai-api bonsai-webapp luz 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