# Stack Maintenance services: # DIUN – notification mises à jour images diun: image: crazymax/diun:latest container_name: diun command: serve restart: always networks: - backend volumes: - /srv/docker/maintenance/diun:/data - /var/run/docker.sock:/var/run/docker.sock environment: - TZ=${TZ} - DIUN_WATCH_WORKERS=${DIUN_WATCH_WORKERS} - DIUN_WATCH_SCHEDULE=${DIUN_WATCH_SCHEDULE} - DIUN_WATCH_JITTER=${DIUN_WATCH_JITTER} - DIUN_PROVIDERS_DOCKER=${DIUN_PROVIDERS_DOCKER} labels: - diun.enable=true healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"] interval: 1m timeout: 10s retries: 3 # Dozzle – visualisation logs dozzle: image: amir20/dozzle:latest container_name: dozzle restart: unless-stopped networks: - backend - frontend ports: - "7640:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"] interval: 1m timeout: 10s retries: 3 # Watchtower – mise à jour automatique watchtower: image: containrrr/watchtower:latest container_name: watchtower restart: unless-stopped networks: - backend volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WATCHTOWER_POLL_INTERVAL=${WATCHTOWER_POLL_INTERVAL} - WATCHTOWER_CLEANUP=${WATCHTOWER_CLEANUP} - WATCHTOWER_INCLUDE_STOPPED=${WATCHTOWER_INCLUDE_STOPPED} - WATCHTOWER_LABEL_ENABLE=${WATCHTOWER_LABEL_ENABLE} healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"] interval: 1m timeout: 10s retries: 3 networks: frontend: external: true backend: external: true