From 650700ed0a3f45d3c02e2e29c3cde254157d3d58 Mon Sep 17 00:00:00 2001 From: kelin Date: Wed, 14 Jan 2026 02:25:20 -0500 Subject: [PATCH] Re-enable Watchtower with correct Docker API version Fixes: - docker-compose/infrastructure.yml: - Uncommented Watchtower service - Updated image from 1.7.1 to latest - Changed DOCKER_API_VERSION from 1.44 to 1.52 (current Docker version) - Added default empty value for WATCHTOWER_NOTIFICATION_URL - scripts/deploy-homelab.sh: - Removed "temporarily disabled" note - Added Watchtower to infrastructure stack list - docs/services-overview.md: - Updated infrastructure stack count from 7 to 8 - Added Watchtower to service list Watchtower now runs successfully with scheduled updates at 4 AM daily --- docker-compose/infrastructure.yml | 39 +++++++++++++++++-------------- docs/services-overview.md | 3 ++- scripts/deploy-homelab.sh | 2 +- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/docker-compose/infrastructure.yml b/docker-compose/infrastructure.yml index 5abafd0..d1b1d02 100644 --- a/docker-compose/infrastructure.yml +++ b/docker-compose/infrastructure.yml @@ -74,24 +74,27 @@ services: # Issue tracked for resolution in future release # To enable: Uncomment service below and run: docker compose up -d watchtower # - # watchtower: - # image: containrrr/watchtower:1.7.1 - # container_name: watchtower - # restart: unless-stopped - # networks: - # - homelab-network - # volumes: - # - /var/run/docker.sock:/var/run/docker.sock - # environment: - # - DOCKER_API_VERSION=1.44 - # - WATCHTOWER_CLEANUP=true - # - WATCHTOWER_INCLUDE_RESTARTING=true - # - WATCHTOWER_SCHEDULE=0 0 4 * * * # 4 AM daily - # - WATCHTOWER_NOTIFICATIONS=shoutrrr - # - WATCHTOWER_NOTIFICATION_URL=${WATCHTOWER_NOTIFICATION_URL} - # labels: - # - "homelab.category=infrastructure" - # - "homelab.description=Automatic Docker container updates" + # Watchtower - Automatic container updates + # Monitors and updates Docker containers to latest versions + # Runs daily at 4 AM + watchtower: + image: containrrr/watchtower:latest + container_name: watchtower + restart: unless-stopped + networks: + - homelab-network + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DOCKER_API_VERSION=1.52 + - WATCHTOWER_CLEANUP=true + - WATCHTOWER_INCLUDE_RESTARTING=true + - WATCHTOWER_SCHEDULE=0 0 4 * * * # 4 AM daily + - WATCHTOWER_NOTIFICATIONS=shoutrrr + - WATCHTOWER_NOTIFICATION_URL=${WATCHTOWER_NOTIFICATION_URL:-} + labels: + - "homelab.category=infrastructure" + - "homelab.description=Automatic Docker container updates" # Dozzle - Real-time Docker log viewer # Access at: https://dozzle.${DOMAIN} diff --git a/docs/services-overview.md b/docs/services-overview.md index ecda5a1..ccf9089 100644 --- a/docs/services-overview.md +++ b/docs/services-overview.md @@ -11,11 +11,12 @@ This document provides a comprehensive overview of all 60+ pre-configured servic | ├─ [Traefik](service-docs/traefik.md) | Reverse proxy + SSL | ✓ | /opt/stacks/core/traefik | traefik.${DOMAIN} | | ├─ [Authelia](service-docs/authelia.md) | SSO authentication | - | /opt/stacks/core/authelia | auth.${DOMAIN} | | └─ [Gluetun](service-docs/gluetun.md) | VPN (Surfshark) | - | /opt/stacks/core/gluetun | No UI | -| **🔧 [infrastructure.yaml](../docker-compose/infrastructure.yml) (7+5)** | **Deployed: 7** | | | | +| **🔧 [infrastructure.yaml](../docker-compose/infrastructure.yml) (8+5)** | **Deployed: 8** | | | | | ├─ [Dockge](service-docs/dockge.md) | Stack manager (PRIMARY) | ✓ | /opt/stacks/infrastructure | dockge.${DOMAIN} | | ├─ [Pi-hole](service-docs/pihole.md) | DNS + Ad blocking | ✓ | /opt/stacks/infrastructure | pihole.${DOMAIN} | | ├─ [Dozzle](service-docs/dozzle.md) | Docker log viewer | ✓ | /opt/stacks/infrastructure | dozzle.${DOMAIN} | | ├─ [Glances](service-docs/glances.md) | System monitoring | ✓ | /opt/stacks/infrastructure | glances.${DOMAIN} | +| ├─ Watchtower | Auto container updates | - | /opt/stacks/infrastructure | No UI | | ├─ Code Server | VS Code in browser | ✓ | /opt/stacks/infrastructure | code.${DOMAIN} | | └─ [Docker Proxy](service-docs/docker-proxy.md) | Secure socket access | - | /opt/stacks/infrastructure | No UI | | **📦 [alternatives.yaml](../docker-compose/alternatives.yml) (6)** | **Not deployed** | | | | diff --git a/scripts/deploy-homelab.sh b/scripts/deploy-homelab.sh index a2255ba..24e6597 100755 --- a/scripts/deploy-homelab.sh +++ b/scripts/deploy-homelab.sh @@ -337,7 +337,7 @@ log_info " - Pi-hole (DNS Ad Blocker)" log_info " - Dozzle (Log Viewer)" log_info " - Glances (System Monitor)" log_info " - Docker Proxy (Security)" -log_info " Note: Watchtower temporarily disabled (Docker API compatibility)" +log_info " - Watchtower (Automatic Updates)" echo "" # Copy infrastructure stack