diff options
| author | ertopogo <erwin.t.pombett@gmail.com> | 2026-03-13 00:33:28 +0100 |
|---|---|---|
| committer | ertopogo <erwin.t.pombett@gmail.com> | 2026-03-13 00:33:28 +0100 |
| commit | b34873f98052ac5fb4bf6731a25730075796d764 (patch) | |
| tree | 0b27ef2996894287aaf382b43956d6cf45352e94 /docs/INSTALLATION.md | |
Diffstat (limited to 'docs/INSTALLATION.md')
| -rw-r--r-- | docs/INSTALLATION.md | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md new file mode 100644 index 0000000..323622d --- /dev/null +++ b/docs/INSTALLATION.md @@ -0,0 +1,106 @@ +# INSTALLATION
+
+## Objectif
+Documenter une installation reproductible de la plateforme medias.
+
+## Documentation liee
+- Creation VM: `docs/VM_KONENPAN_CREATION.md`
+- Troubleshooting: `docs/TROUBLESHOOTING.md`
+- Template incident: `docs/TEMPLATE_INCIDENT.md`
+- Couche acces media: `MEDIA_ACCESS_API.md`
+- Backend viewer: `VIEWER_BFF.md`
+- Ingestion Windows: `WINDOWS_INGESTION.md`
+- DNS local stack medias: `docs/DNSMASQ_MEDIAS.md`
+- Reverse proxy HTTPS: `docs/CADDY_ARAUCARIA.md`
+- Deploiement sur VM: `docs/DEPLOIEMENT_KONENPAN.md`
+
+## Perimetre
+- Services concernes:
+- Version cible:
+- Environnement cible: dev | test | prod
+
+## Prerequis
+- Acces depots et secrets necessaires
+- Docker / Docker Compose installes
+- Certificats/TLS disponibles
+- DNS et ports valides
+
+## Variables et secrets
+- Fichier source des variables:
+- Secrets requis:
+- Regle: ne jamais committer les secrets
+
+## Procedure d'installation
+1. Preparer l'environnement.
+2. Recuperer la configuration necessaire.
+3. Demarrer les services.
+4. Initialiser les composants (DB, realm IAM, etc.).
+5. Verifier l'etat de sante.
+
+## Validation post-installation
+- Services demarres et stables
+- Authentification fonctionnelle
+- Acces medias testes
+- Logs sans erreur bloquante
+
+## Rollback
+- Conditions de rollback:
+- Etapes de rollback:
+- Verification apres rollback:
+
+## Logs et traces
+- Emplacement des logs:
+- Commandes de collecte:
+- Duree de retention:
+
+## Historique des mises a jour
+- Date:
+- Auteur:
+- Resume du changement:
+
+## Exemple rempli: stack medias avec viewer BFF (dev)
+### Perimetre
+- Services concernes: minio, media-access-api, viewer-bff
+- Version cible: keycloak externe (`kc.arauco.online`), minio latest stable, Node.js 20 LTS (viewer-bff)
+- Environnement cible: dev
+
+### Variables et secrets
+- Fichier source des variables: `.env.dev` (non versionne)
+- Secrets requis: `OIDC_CLIENT_SECRET`, `MINIO_ROOT_PASSWORD`
+
+### Procedure d'installation (exemple)
+1. Deployer les fichiers sur `konenpan` via le depot Git relay `chillka` selon `docs/DEPLOIEMENT_KONENPAN.md`.
+2. Copier `.env.photoprism-secure.example` vers `.env.dev` puis renseigner les secrets.
+3. Configurer les enregistrements DNS locaux vers `araucaria` (`docs/DNSMASQ_MEDIAS.md`).
+4. Configurer Caddy sur `araucaria` pour publier les services en HTTPS (`docs/CADDY_ARAUCARIA.md`).
+5. Verifier l'acces OIDC externe (`OIDC_ISSUER` vers `kc.arauco.online/realms/chiruca`).
+6. Demarrer la stack locale avec `compose.photoprism-secure.dev.yml`.
+7. Verifier la creation du bucket prive `medias-private` et l'absence de lecture anonyme.
+8. Publier `viewer-bff` via Caddy (`photos.arauco.online`) et router `media-api.arauco.online` vers `media-access-api`.
+9. Lancer une ingestion initiale des dossiers Windows (`WINDOWS_INGESTION.md`).
+
+Commandes de reference:
+```bash
+cp .env.photoprism-secure.example .env.dev
+docker compose --env-file .env.dev -f compose.photoprism-secure.dev.yml up -d
+docker compose --env-file .env.dev -f compose.photoprism-secure.dev.yml ps
+```
+
+### Validation post-installation (exemple)
+- Login utilisateur test via OIDC OK.
+- `GET /v1/permissions` retourne les prefixes attendus.
+- URL pre-signee valide permet lecture objet autorise.
+- URL directe MinIO sans signature refusee.
+- Utilisateur multi-roles voit la somme des dossiers autorises.
+- Acces HTTPS via Caddy valide (`photos.arauco.online`, `media-api.arauco.online`).
+- `GET https://photos.arauco.online/health` retourne `status=ok`.
+
+### Rollback (exemple)
+- Conditions: echec OIDC global, erreurs 5xx persistantes API, ACL non conformes.
+- Etapes: revenir au compose precedent, restaurer `.env` et mapping roles, redemarrer les services stables.
+- Verification apres rollback: login OIDC + lecture media dossier autorise uniquement.
+
+### Logs et traces (exemple)
+- Emplacement des logs: `docker compose logs`, logs `media-access-api`, logs `viewer-bff`.
+- Commandes de collecte: `docker compose -f compose.photoprism-secure.dev.yml logs --since=30m > logs-install-dev.txt`
+- Duree de retention: 14 jours (dev).
|
