diff --git a/Configuracion.md b/Configuracion.md new file mode 100644 index 0000000..b04d5f1 --- /dev/null +++ b/Configuracion.md @@ -0,0 +1,39 @@ +# Configuración de Watchtower + +## Variables de entorno +- `WATCHTOWER_SCHEDULE`: cron (UTC). Ejemplo diario 03:00: `0 0 3 * * *` +- `WATCHTOWER_CLEANUP`: elimina imágenes antiguas (`true` recomendado) +- `WATCHTOWER_INCLUDE_STOPPED`: incluir contenedores detenidos +- `WATCHTOWER_TIMEOUT`: segundos por parada/arranque + +## Compose de referencia +```yaml +services: + watchtower: + image: containrrr/watchtower:latest + container_name: watchtower + restart: always + environment: + - TZ=Europe/Madrid + - WATCHTOWER_CLEANUP=true + - WATCHTOWER_INCLUDE_STOPPED=false + - WATCHTOWER_SCHEDULE=0 0 3 * * * + volumes: + - /var/run/docker.sock:/var/run/docker.sock + command: --label-enable +``` + +## Etiquetado de servicios +```yaml +labels: + - "com.centurylinklabs.watchtower.enable=true" +``` +Solo los servicios etiquetados se actualizarán (con `--label-enable`). + +## Buenas prácticas +- Programa en horas de baja actividad +- Mantén backups en servicios con estado +- Revisa logs tras actualizaciones + +--- +Última actualización: Nov 2025 diff --git a/Home.md b/Home.md index 0ab951d..9a8487c 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,28 @@ -¡Bienvenidos a la Wiki! \ No newline at end of file +# Watchtower — Wiki + +Bienvenido a la wiki de **Watchtower** para esta infraestructura. + +## Objetivo +Mantener actualizados automáticamente los contenedores etiquetados cuando se publiquen nuevas imágenes. + +## Despliegue Rápido +```bash +git clone https://git.ictiberia.com/groales/watchtower +cd watchtower +docker compose up -d +``` + +## Etiquetado de servicios +Añade a cada servicio que quieras actualizar: +```yaml +labels: + - "com.centurylinklabs.watchtower.enable=true" +``` + +## Páginas +- [Configuración](Configuracion.md) +- [Notificaciones (Shoutrrr)](Notificaciones.md) +- [Troubleshooting](Troubleshooting.md) + +--- +Última actualización: Nov 2025 \ No newline at end of file diff --git a/Notificaciones.md b/Notificaciones.md new file mode 100644 index 0000000..bb644dd --- /dev/null +++ b/Notificaciones.md @@ -0,0 +1,34 @@ +# Notificaciones con Shoutrrr + +Watchtower integra [Shoutrrr](https://containrrr.dev/shoutrrr/v0.5/), permitiendo enviar avisos a múltiples destinos. + +## Variables +- `WATCHTOWER_NOTIFICATIONS=shoutrrr` +- `WATCHTOWER_NOTIFICATION_URL=` (puedes separar varias con `;`) + +## Ejemplos +### Telegram +``` +WATCHTOWER_NOTIFICATIONS=shoutrrr +WATCHTOWER_NOTIFICATION_URL=telegram://TOKEN@CHATID +``` + +### Slack +``` +WATCHTOWER_NOTIFICATIONS=shoutrrr +WATCHTOWER_NOTIFICATION_URL=slack://TOKEN@CHANNEL +``` + +### Email (SMTP) +Consulta la documentación de Shoutrrr para el formato correcto. + +## Filtrado +- `WATCHTOWER_NOTIFIER_LEVEL=info|debug|warn|error` +- `WATCHTOWER_NOTIFICATIONS_REPORT=true` para informes al finalizar + +## Consejos +- Prueba primero con un único destino +- Usa `debug` para validar formatos + +--- +Última actualización: Nov 2025 diff --git a/Troubleshooting.md b/Troubleshooting.md new file mode 100644 index 0000000..99500e3 --- /dev/null +++ b/Troubleshooting.md @@ -0,0 +1,26 @@ +# Troubleshooting + +## No actualiza servicios +- Verifica que el servicio tenga label `com.centurylinklabs.watchtower.enable=true` +- `--label-enable` está activo en Watchtower + +## Sincronización o tiempos +- Ajusta `WATCHTOWER_TIMEOUT` +- Usa `WATCHTOWER_SCHEDULE` para evitar horas pico + +## Permisos Docker +- Montaje del socket `/var/run/docker.sock` es obligatorio +- Verifica que Watchtower puede listar contenedores + +## Logs +```bash +docker logs watchtower --tail=200 +``` +Revisa errores de autenticación de registro, pulls fallidos. + +## Repos privados +- Configura credenciales Docker para pulls +- Prueba manual: `docker pull imagen:tag` + +--- +Última actualización: Nov 2025