Una configuración Docker Compose optimizada para Watchtower usando el fork activo de nicholas-fedor/watchtower, que mantiene desarrollo activo y correcciones de bugs del proyecto original abandonado.
- Fork Actualizado: Usa el fork de nicholas-fedor con desarrollo activo (v1.12.1+)
- Programación Cron: Actualizaciones automatizadas a las 00:05 diarias
- Reinicio Escalonado: Rolling restarts para minimizar downtime
- Limpieza Automática: Elimina imágenes antiguas tras actualizar
- Logs Estructurados: Formato JSON para mejor análisis
- Seguridad Mejorada: Configuraciones de seguridad optimizadas
- Docker Engine 20.10+
- Docker Compose v2.0+
- Acceso al socket de Docker
- Clona este repositorio:
git clone https://github.com/tu-usuario/watchtower-compose.git
cd watchtower-compose
| Variable | Valor | Descripción | 
|---|---|---|
| WATCHTOWER_SCHEDULE | 5 0 * * * | Cron para actualizaciones (00:05 diarios) | 
| WATCHTOWER_CLEANUP | true | Limpia imágenes antiguas automáticamente | 
| WATCHTOWER_ROLLING_RESTART | true | Reinicia contenedores de forma escalonada | 
| WATCHTOWER_LOG_FORMAT | json | Formato de logs estructurados | 
Para cambiar la programación, modifica WATCHTOWER_SCHEDULE:
Cada 8 horas
WATCHTOWER_SCHEDULE=0 */8 * * *
Solo los domingos a las 02:00 WATCHTOWER_SCHEDULE=0 2 * * 0
Diario a las 03:30 WATCHTOWER_SCHEDULE=30 3 * * *
- Activa el scope en watchtower: environment:
WATCHTOWER_SCOPE=mystack
- Etiqueta contenedores a incluir: services: mi-app: image: mi-imagen:latest labels:
- "com.centurylinklabs.watchtower.scope=mystack"
- Excluye contenedores críticos: services: database: image: postgres:15 labels:
- "com.centurylinklabs.watchtower.enable=false"
- Causa: Usar WATCHTOWER_POLL_INTERVALyWATCHTOWER_SCHEDULEjuntos
- Solución: Eliminar uno de los dos
- Causa: Puerto expuesto sin token API
- Solución: Eliminar sección ports:o añadirWATCHTOWER_HTTP_API_TOKEN
Si este repositorio te ayuda, ¡dale una estrella! ⭐
Nota: Este fork mantiene compatibilidad completa con el Watchtower original pero añade características y correcciones importantes para entornos de producción.