README: alinear con compose (flags, schedule 03:30, etiquetado y buenas prácticas)

This commit is contained in:
2025-11-30 12:06:27 +01:00
parent 4629bf255d
commit 103af25a65

View File

@@ -4,9 +4,10 @@
[Watchtower](https://containrrr.dev/watchtower/) monitoriza imágenes y actualiza contenedores automáticamente cuando hay nuevas versiones. [Watchtower](https://containrrr.dev/watchtower/) monitoriza imágenes y actualiza contenedores automáticamente cuando hay nuevas versiones.
## Características ## Características
- Actualiza servicios etiquetados - Actualiza solo contenedores etiquetados (flag `--label-enable`)
- Limpieza de imágenes antiguas (`WATCHTOWER_CLEANUP=true`) - Limpieza de imágenes antiguas (flag `--cleanup`)
- Programación vía cron (`WATCHTOWER_SCHEDULE`) - Programación vía cron con flag `--schedule`
- Tiempo de gracia en parada (`--stop-timeout`)
- Notificaciones (Shoutrrr: Telegram, Slack, Email, etc.) - Notificaciones (Shoutrrr: Telegram, Slack, Email, etc.)
## Despliegue ## Despliegue
@@ -17,23 +18,41 @@ docker compose up -d
``` ```
## Etiquetado de servicios ## Etiquetado de servicios
Para que un servicio se auto-actualice, añade: Para que un servicio se auto-actualice, añade la label:
```yaml ```yaml
labels: labels:
- "com.centurylinklabs.watchtower.enable=true" - "com.centurylinklabs.watchtower.enable=true"
``` ```
Para excluir explícitamente:
```yaml
labels:
- "com.centurylinklabs.watchtower.enable=false"
```
## Variables de entorno ## Configuración (flags usados)
Edita `.env` o el `docker-compose.yaml`: El `docker-compose.yaml` utiliza flags en lugar de variables de entorno para mayor claridad:
- `WATCHTOWER_SCHEDULE`: cron (UTC) p.ej. `0 0 3 * * *` (diario 03:00) ```yaml
- `WATCHTOWER_CLEANUP`: `true` para borrar imágenes antiguas command:
- `WATCHTOWER_NOTIFICATIONS` y `WATCHTOWER_NOTIFICATION_URL`: ver Shoutrrr - --label-enable # Solo contenedores con label enable=true
- --cleanup # Elimina imágenes antiguas tras actualizar
- --schedule=0 30 3 * * * # Ejecuta cada día a las 03:30 (TZ configurado)
- --stop-timeout=30s # Tiempo de gracia al parar contenedores
```
Si prefieres variables en vez de flags, puedes usar:
```yaml
environment:
- WATCHTOWER_LABEL_ENABLE=true
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 30 3 * * *
- WATCHTOWER_TIMEOUT=30s
```
## Buenas prácticas ## Buenas prácticas
- Etiqueta solo servicios que quieras actualizar - Etiqueta solo servicios que quieras actualizar
- Usa horarios de baja actividad - Usa horarios de baja actividad (madrugada)
- Revisa logs en actualizaciones críticas - Revisa logs tras cambios de versiones críticas
- Mantén backups si actualizas servicios de estado - Mantén backups si actualizas servicios con datos persistentes
- Excluye servicios que gestionas manualmente (`enable=false`)
## Troubleshooting ## Troubleshooting
```bash ```bash
@@ -41,23 +60,23 @@ docker logs watchtower --tail=200
``` ```
--- ---
Última actualización: Nov 2025 Última actualización: Nov 2025 (compose con flags)
## Ejemplos de etiquetas ## Ejemplos de etiquetas
### Portainer (actualizable) ### Portainer (actualizable)
`yaml ```yaml
labels: labels:
- "com.centurylinklabs.watchtower.enable=true" - "com.centurylinklabs.watchtower.enable=true"
` ```
### NGINX Proxy Manager (excluir) ### NGINX Proxy Manager (excluir)
`yaml ```yaml
labels: labels:
- "com.centurylinklabs.watchtower.enable=false" - "com.centurylinklabs.watchtower.enable=false"
` ```
### Servicios críticos (incluir solo en ventanas) ### Servicios críticos (actualizar manualmente)
- Usa WATCHTOWER_SCHEDULE para horarios de mantenimiento. - Programa ventanas con `--schedule`
- Considera WATCHTOWER_INCLUDE_STOPPED=true si paras antes. - Opcional: parar primero y usar `WATCHTOWER_INCLUDE_STOPPED=true`