From 5e51fab6bd3c6c3e483532d622ea46532ef1e1f9 Mon Sep 17 00:00:00 2001 From: grondinalexandre Date: Tue, 7 Jul 2026 00:11:21 +0200 Subject: [PATCH] prod: tirer l'image du registry + redeploy auto TrueNAS - docker-compose.prod.yml : image registry.maisongrondin.fr/alexandre/mkv2avi:latest (plus de build local) - workflow : etape 'Redeployer sur TrueNAS' (app.redeploy, pattern Hooplab) Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/release.yml | 13 ++++++++++++- docker-compose.prod.yml | 7 ++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b83a018..75fbab6 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,6 +1,7 @@ name: Release -# Livraison par tag : un tag "vX.Y.Z" déclenche build + push registry + release Gitea. +# Livraison par tag : un tag "vX.Y.Z" déclenche build + push registry + release Gitea +# + redéploiement de l'app TrueNAS "mkv2avi". on: push: tags: @@ -54,3 +55,13 @@ jobs: -F "attachment=@$f;type=text/plain" >/dev/null echo " asset ajouté : $f" done + + # Redéploiement de l'app Custom TrueNAS "mkv2avi" (pull de :latest + restart). + # ⚠️ Prérequis : l'app "mkv2avi" doit exister sur TrueNAS (sinon 404 → échec). + # 172.16.11.1 = hôte TrueNAS joignable depuis le conteneur du job. + - name: Redéployer sur TrueNAS + run: | + curl -sf -X POST http://172.16.11.1/api/v2.0/app/redeploy \ + -H "Authorization: Bearer ${{ secrets.TRUENAS_API_KEY }}" \ + -H "Content-Type: application/json" \ + -d '"mkv2avi"' diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index fc1c1b1..3ad5101 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -2,7 +2,8 @@ # derrière Nginx Proxy Manager (TLS terminé par NPM). # # cp .env.prod.example .env.prod # puis renseigner les secrets -# docker compose --env-file .env.prod -f docker-compose.prod.yml up -d --build +# docker compose --env-file .env.prod -f docker-compose.prod.yml pull +# docker compose --env-file .env.prod -f docker-compose.prod.yml up -d # # NPM (2 Proxy Hosts, forward en http vers l'IP de l'hôte) : # auth.mkv2avi.maisongrondin.fr -> http://:8080 @@ -60,8 +61,8 @@ services: restart: unless-stopped mkv2avi: - build: . - image: mkv2avi:latest + # Image livrée par la CI (tag → build + push). Voir .gitea/workflows/release.yml. + image: registry.maisongrondin.fr/alexandre/mkv2avi:latest container_name: mkv2avi environment: - MAX_WORKERS=${MAX_WORKERS:-1}