Outils pour utilisateurs

Outils du site


systeme:documenso:minio

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
systeme:documenso:minio [2026/04/26 10:57] – [Tester le bon fonctionnement du proxy] techer.charles_educ-valadon-limoges.frsysteme:documenso:minio [2026/04/26 11:28] (Version actuelle) – [Automatiser la configuration de minio et de sharepoint-proxy] techer.charles_educ-valadon-limoges.fr
Ligne 614: Ligne 614:
 <code> <code>
 docker compose build sharepoint-proxy --no-cache docker compose build sharepoint-proxy --no-cache
 +</code>
 +
 +==== Automatiser la configuration de minio et de sharepoint-proxy  ====
 +
 +<WRAP center round info>
 +MinIO n’active pas automatiquement le Webhook : il faut le déclarer avec mc.
 +</WRAP>
 +
 +
 +L'automatisation consiste à créer sans intervention manuelle.
 +  * l'alias MinIO
 +  * le bucket lycee s'il n'existe pas 
 +  * le webhook
 +  * les events (préfixes)
 +  * gérer le redémarrage / recréation fiables
 +
 +Solution idempotente : il est possible de  relancer autant de fois que de besoin
 +
 +=== Principe général ===
 +  * L’alias mc ne doit PAS être créé dans le conteneur MinIO
 +  * Il doit être créé dans les deux conteneurs qui utilisent mc : 
 +    * minio-init => pour créer le bucket, le webhook et les events
 +    * sharepoint-proxy => pour télécharger les fichiers depuis MinIO
 +
 +=== Création d'un conteneur minio-ini pour configurer minio ===
 +Ce conteneur est basé sur minio/mc qui contient mc.
 +
 +Code du Dockercompose.yml pour la création de l'alias, du bucket et des events
 +
 +<code>
 +minio-init:
 +  image: minio/mc:latest
 +  container_name: minio-init
 +  depends_on:
 +    - minio
 +  env_file:
 +    - .env
 +  entrypoint: >
 +    /bin/sh -c "
 +    echo 'Attente de MinIO...' &&
 +    sleep 5 &&
 +
 +    echo ' Création de l alias MinIO' &&
 +    mc alias set minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD &&
 +
 +    echo 'Création du bucket lycee (si absent)' &&
 +    mc mb minio/lycee || true &&
 +
 +    echo '🧹 Suppression des anciens events' &&
 +    mc event remove minio/lycee arn:minio:sqs::sharepoint:webhook || true &&
 +
 +    echo 'Création des events pédagogiques' &&
 +    mc event add minio/lycee arn:minio:sqs::sharepoint:webhook --event put,delete --prefix administration/ &&
 +    mc event add minio/lycee arn:minio:sqs::sharepoint:webhook --event put,delete --prefix bts-sio/ &&
 +    mc event add minio/lycee arn:minio:sqs::sharepoint:webhook --event put,delete --prefix bts-mco/ &&
 +
 +    echo ' MinIO initialisé avec succès'
 +    "
 +</code>
 +
 +=== Création automatique de l’alias dans sharepoint-proxy ===
 +Le sharepoint-proxy utilise aussi mc. Il a aussi besion de l’alias.
 +
 +La bonne pratique est d'utiliser un entrypoint.sh dans sharepoint-proxy (à mettre dans le dossier de sharepoint-proxy).
 +
 +  * Contenu de entrypoint.sh
 +
 +<code>
 +#!/bin/sh
 +set -e
 +
 +echo "Initialisation de l'alias mc (MinIO)..."
 +
 +mc alias set minio \
 +  http://minio:9000 \
 +  "$MINIO_ROOT_USER" \
 +  "$MINIO_ROOT_PASSWORD" \
 +  --api S3v4
 +
 +echo "Alias mc 'minio' prêt"
 +
 +# Lancer Gunicorn (process principal)
 +exec "$@"
 +</code>
 +
 +  * Modifier le Dockerfile du proxy en ajoutant à la fin du Dockerfile :
 +
 +<code>
 +COPY entrypoint.sh /entrypoint.sh
 +RUN chmod +x /entrypoint.sh
 +
 +ENTRYPOINT ["/entrypoint.sh"]
 +CMD ["gunicorn", "-w", "2", "-b", "0.0.0.0:8080", "main:app"]
 +</code>
 +
 +=== Démarrage et vérification===
 +  * Démarrer toute la stack
 +
 +<code> 
 +docker compose down
 +docker compose up -d
 +</code>
 +
 +  * Vérifier l’alias dans le proxy
 +
 +<code>
 +docker compose exec sharepoint-proxy mc alias list
 +
 +=> Résultat attendu :
 +minio  http
 +</code>
 +
 +   * Vérifier les events MinIO
 +
 +<code>
 +mc event list minio/lycee
 +
 +=> résultats attendus
 +Visualisation des 3 préfixes pédagogiques.
 </code> </code>
  
Ligne 964: Ligne 1083:
 </code> </code>
  
-</code>+
systeme/documenso/minio.1777193843.txt.gz · Dernière modification : 2026/04/26 10:57 de techer.charles_educ-valadon-limoges.fr