fix(watchtower): authentifie le pull des images privées Gitea (reqPackageAccess)
Watchtower déclenchait bien /v1/update (200) mais échouait à tirer luz-backend/luz-webapp :develop (« unauthorized: reqPackageAccess »), d'où Updated=0 silencieux : les conteneurs n'étaient jamais recréés et la prod restait figée sur une ancienne image malgré une CI verte. Le montage de /root/.docker/config.json était inopérant (le docker login du CI a lieu sur le runner, pas sur l'hôte). On le remplace par des identifiants de pull explicites REPO_USER/REPO_PASS (PAT read:package, via REGISTRY_USER/REGISTRY_PASS du .env). .env.example documenté. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,12 +7,20 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /root/.docker/config.json:/root/.docker/config.json:ro
|
||||
environment:
|
||||
WATCHTOWER_HTTP_API_UPDATE: "true"
|
||||
WATCHTOWER_HTTP_API_TOKEN: ${WATCHTOWER_TOKEN}
|
||||
WATCHTOWER_LABEL_ENABLE: "true"
|
||||
WATCHTOWER_CLEANUP: "true"
|
||||
# Identifiants de pull du registre Gitea privé (git.goutailler-olivier.com).
|
||||
# Sans eux, Watchtower échoue à tirer luz-backend/luz-webapp :develop
|
||||
# (« unauthorized: reqPackageAccess ») et ne recrée jamais les conteneurs
|
||||
# — le déploiement reste bloqué en silence (Updated=0, mais /v1/update → 200).
|
||||
# Un PAT en LECTURE seule (scope read:package) sur l'org Luz suffit.
|
||||
# Remplace l'ancien montage de /root/.docker/config.json, qui côté hôte
|
||||
# ne contenait aucune auth (le docker login du CI a lieu sur le runner).
|
||||
REPO_USER: ${REGISTRY_USER}
|
||||
REPO_PASS: ${REGISTRY_PASS}
|
||||
TZ: Europe/Paris
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
Reference in New Issue
Block a user