name: watchtower services: watchtower: image: containrrr/watchtower container_name: watchtower restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock 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 :main # (« 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) suffit — mais il lui faut # accès aux DEUX organisations qui publient des images ici : Luz et, depuis # que la stack bonsai tire bonsai-api du registre, Bonsai. Un PAT limité à # Luz laisserait la prod Bonsai bloquée sur son ancienne image, en silence. # 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 labels: - traefik.enable=true - traefik.http.routers.watchtower.rule=Host(`watchtower.goutailler-olivier.com`) - traefik.http.routers.watchtower.entrypoints=websecure - traefik.http.routers.watchtower.tls.certresolver=le - traefik.http.services.watchtower.loadbalancer.server.port=8080 - traefik.docker.network=proxy networks: proxy: external: true name: proxy