diff --git a/docker-compose.yml b/docker-compose.yml index 72689a2..e022e46 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -202,6 +202,10 @@ services: - ${COMPOSE_PROJECT_DIR:-./}:/compose # Volume partage avec le Core pour la commande + le resultat. - switcher-data:/data + # Volume partage avec le Core + Watchtower : contient config.json avec + # les creds GHCR (ecrits par le Core a partir du token Patreon). + # Indispensable pour pull les images privees du canal beta. + - docker-config:/shared/docker environment: # Repertoire interne ou trouver docker-compose.yml et .env. Bind au # volume ci-dessus (COMPOSE_PROJECT_DIR = repertoire d'install du host). @@ -210,6 +214,9 @@ services: # le MEME stack que celui qui tourne (sinon il creerait un duplicate). # Doit matcher le `name:` (en V2.x) ou le nom du dossier du host. COMPOSE_PROJECT_NAME: ${COMPOSE_PROJECT_NAME:-loremind} + # Indique au CLI Docker du switcher ou trouver config.json (auth GHCR + # pour les images privees beta). Meme mecanisme que sur Watchtower. + DOCKER_CONFIG: /shared/docker restart: unless-stopped # Mises a jour automatiques des images core/brain/web. diff --git a/switcher/watch.sh b/switcher/watch.sh index 0d4f3cb..286270b 100644 --- a/switcher/watch.sh +++ b/switcher/watch.sh @@ -70,10 +70,14 @@ while true; do # Lance le switch. On capture stdout+stderr et le code de sortie. if output=$(/switcher/switch.sh "${channel}" 2>&1); then log "Switch SUCCESS for id=${id} channel=${channel}" + # Log la sortie sur plusieurs lignes pour faciliter le debug + # (ce qu'on voit en docker logs). + while IFS= read -r line; do log " | ${line}"; done <<< "${output}" write_result "success" "${channel}" "${output}" "${id}" else rc=$? log "Switch FAILED for id=${id} channel=${channel} rc=${rc}" + while IFS= read -r line; do log " | ${line}"; done <<< "${output}" write_result "error" "${channel}" "${output}" "${id}" fi