From b34873f98052ac5fb4bf6731a25730075796d764 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Fri, 13 Mar 2026 00:33:28 +0100 Subject: Initial commit medias platform --- docs/INSTALLATION.md | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 docs/INSTALLATION.md (limited to 'docs/INSTALLATION.md') 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). -- cgit v1.2.3