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 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 00:11:21 +02:00
parent 9d6b0fbed9
commit 5e51fab6bd
2 changed files with 16 additions and 4 deletions
+12 -1
View File
@@ -1,6 +1,7 @@
name: Release 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: on:
push: push:
tags: tags:
@@ -54,3 +55,13 @@ jobs:
-F "attachment=@$f;type=text/plain" >/dev/null -F "attachment=@$f;type=text/plain" >/dev/null
echo " asset ajouté : $f" echo " asset ajouté : $f"
done 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"'
+4 -3
View File
@@ -2,7 +2,8 @@
# derrière Nginx Proxy Manager (TLS terminé par NPM). # derrière Nginx Proxy Manager (TLS terminé par NPM).
# #
# cp .env.prod.example .env.prod # puis renseigner les secrets # 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) : # NPM (2 Proxy Hosts, forward en http vers l'IP de l'hôte) :
# auth.mkv2avi.maisongrondin.fr -> http://<IP_HOTE>:8080 # auth.mkv2avi.maisongrondin.fr -> http://<IP_HOTE>:8080
@@ -60,8 +61,8 @@ services:
restart: unless-stopped restart: unless-stopped
mkv2avi: mkv2avi:
build: . # Image livrée par la CI (tag → build + push). Voir .gitea/workflows/release.yml.
image: mkv2avi:latest image: registry.maisongrondin.fr/alexandre/mkv2avi:latest
container_name: mkv2avi container_name: mkv2avi
environment: environment:
- MAX_WORKERS=${MAX_WORKERS:-1} - MAX_WORKERS=${MAX_WORKERS:-1}