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
This commit is contained in:
2026-01-14 02:25:20 -05:00
parent 3e53cc3225
commit 650700ed0a
3 changed files with 24 additions and 20 deletions

View File

@@ -74,24 +74,27 @@ services:
# Issue tracked for resolution in future release # Issue tracked for resolution in future release
# To enable: Uncomment service below and run: docker compose up -d watchtower # To enable: Uncomment service below and run: docker compose up -d watchtower
# #
# watchtower: # Watchtower - Automatic container updates
# image: containrrr/watchtower:1.7.1 # Monitors and updates Docker containers to latest versions
# container_name: watchtower # Runs daily at 4 AM
# restart: unless-stopped watchtower:
# networks: image: containrrr/watchtower:latest
# - homelab-network container_name: watchtower
# volumes: restart: unless-stopped
# - /var/run/docker.sock:/var/run/docker.sock networks:
# environment: - homelab-network
# - DOCKER_API_VERSION=1.44 volumes:
# - WATCHTOWER_CLEANUP=true - /var/run/docker.sock:/var/run/docker.sock
# - WATCHTOWER_INCLUDE_RESTARTING=true environment:
# - WATCHTOWER_SCHEDULE=0 0 4 * * * # 4 AM daily - DOCKER_API_VERSION=1.52
# - WATCHTOWER_NOTIFICATIONS=shoutrrr - WATCHTOWER_CLEANUP=true
# - WATCHTOWER_NOTIFICATION_URL=${WATCHTOWER_NOTIFICATION_URL} - WATCHTOWER_INCLUDE_RESTARTING=true
# labels: - WATCHTOWER_SCHEDULE=0 0 4 * * * # 4 AM daily
# - "homelab.category=infrastructure" - WATCHTOWER_NOTIFICATIONS=shoutrrr
# - "homelab.description=Automatic Docker container updates" - WATCHTOWER_NOTIFICATION_URL=${WATCHTOWER_NOTIFICATION_URL:-}
labels:
- "homelab.category=infrastructure"
- "homelab.description=Automatic Docker container updates"
# Dozzle - Real-time Docker log viewer # Dozzle - Real-time Docker log viewer
# Access at: https://dozzle.${DOMAIN} # Access at: https://dozzle.${DOMAIN}

View File

@@ -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} | | ├─ [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} | | ├─ [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 | | └─ [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} | | ├─ [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} | | ├─ [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} | | ├─ [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} | | ├─ [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} | | ├─ 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 | | └─ [Docker Proxy](service-docs/docker-proxy.md) | Secure socket access | - | /opt/stacks/infrastructure | No UI |
| **📦 [alternatives.yaml](../docker-compose/alternatives.yml) (6)** | **Not deployed** | | | | | **📦 [alternatives.yaml](../docker-compose/alternatives.yml) (6)** | **Not deployed** | | | |

View File

@@ -337,7 +337,7 @@ log_info " - Pi-hole (DNS Ad Blocker)"
log_info " - Dozzle (Log Viewer)" log_info " - Dozzle (Log Viewer)"
log_info " - Glances (System Monitor)" log_info " - Glances (System Monitor)"
log_info " - Docker Proxy (Security)" log_info " - Docker Proxy (Security)"
log_info " Note: Watchtower temporarily disabled (Docker API compatibility)" log_info " - Watchtower (Automatic Updates)"
echo "" echo ""
# Copy infrastructure stack # Copy infrastructure stack