Initial commit: Watchtower con schedule, cleanup y notificaciones
This commit is contained in:
6
.env.example
Normal file
6
.env.example
Normal file
@@ -0,0 +1,6 @@
|
||||
TZ=Europe/Madrid
|
||||
WATCHTOWER_CLEANUP=true
|
||||
WATCHTOWER_INCLUDE_STOPPED=false
|
||||
WATCHTOWER_SCHEDULE=0 0 3 * * *
|
||||
# WATCHTOWER_NOTIFICATIONS=shoutrrr
|
||||
# WATCHTOWER_NOTIFICATION_URL=telegram://TOKEN@CHATID
|
||||
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# General
|
||||
.env
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Logs y temporales
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Docker
|
||||
*.tmp
|
||||
44
README.md
44
README.md
@@ -1,2 +1,44 @@
|
||||
# watchtower
|
||||
# Watchtower — Actualización automática de contenedores
|
||||
|
||||
## Qué es
|
||||
[Watchtower](https://containrrr.dev/watchtower/) monitoriza imágenes y actualiza contenedores automáticamente cuando hay nuevas versiones.
|
||||
|
||||
## Características
|
||||
- Actualiza servicios etiquetados
|
||||
- Limpieza de imágenes antiguas (`WATCHTOWER_CLEANUP=true`)
|
||||
- Programación vía cron (`WATCHTOWER_SCHEDULE`)
|
||||
- Notificaciones (Shoutrrr: Telegram, Slack, Email, etc.)
|
||||
|
||||
## Despliegue
|
||||
```bash
|
||||
git clone https://git.ictiberia.com/groales/watchtower
|
||||
cd watchtower
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Etiquetado de servicios
|
||||
Para que un servicio se auto-actualice, añade:
|
||||
```yaml
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
```
|
||||
|
||||
## Variables de entorno
|
||||
Edita `.env` o el `docker-compose.yaml`:
|
||||
- `WATCHTOWER_SCHEDULE`: cron (UTC) p.ej. `0 0 3 * * *` (diario 03:00)
|
||||
- `WATCHTOWER_CLEANUP`: `true` para borrar imágenes antiguas
|
||||
- `WATCHTOWER_NOTIFICATIONS` y `WATCHTOWER_NOTIFICATION_URL`: ver Shoutrrr
|
||||
|
||||
## Buenas prácticas
|
||||
- Etiqueta solo servicios que quieras actualizar
|
||||
- Usa horarios de baja actividad
|
||||
- Revisa logs en actualizaciones críticas
|
||||
- Mantén backups si actualizas servicios de estado
|
||||
|
||||
## Troubleshooting
|
||||
```bash
|
||||
docker logs watchtower --tail=200
|
||||
```
|
||||
|
||||
---
|
||||
Última actualización: Nov 2025
|
||||
|
||||
20
docker-compose.yaml
Normal file
20
docker-compose.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
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 * * *
|
||||
# Notificaciones (ejemplos):
|
||||
# - WATCHTOWER_NOTIFICATIONS=shoutrrr
|
||||
# - WATCHTOWER_NOTIFICATION_URL=telegram://token@chatid
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
command: --label-enable
|
||||
|
||||
# Etiqueta tus servicios para que watchtower los actualice:
|
||||
# labels:
|
||||
# - "com.centurylinklabs.watchtower.enable=true"
|
||||
Reference in New Issue
Block a user