From b9ee4093e21df9624960c747000a2156532ef68e Mon Sep 17 00:00:00 2001
From: Daniel Fernandez Sotolongo
<71832032+dfedez920912@users.noreply.github.com>
Date: Sat, 27 Sep 2025 12:41:22 -0400
Subject: [PATCH] actualizando
---
docker-compose.yaml | 7 ++++---
watchtower_telegram_notifier.py | 24 ++++++++++++++++--------
2 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 83f5802..4d97856 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -10,8 +10,9 @@ services:
environment:
- TZ=America/Havana
- PYTHONUNBUFFERED=1
- # Pasa el nombre del host al contenedor del notificador
- - WATCHTOWER_NOTIFICATIONS_HOSTNAME=Servidor-Easypanel
+ - WATCHTOWER_NOTIFICATION_REPORT_HOSTNAME=Servidor-Easypanel
+ - TELEGRAM_BOT_TOKEN=7676713419:AAG-tfwzgrA9JaU5xNjvG5iBlFeZpz2ahiY
+ - TELEGRAM_CHAT_ID=7940222048
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
@@ -30,7 +31,7 @@ services:
- WATCHTOWER_INCLUDE_STOPPED=true
- WATCHTOWER_POLL_INTERVAL=86400
- WATCHTOWER_DEBUG=false
- - WATCHTOWER_NOTIFICATIONS_HOSTNAME=Servidor-Easypanel
+ - WATCHTOWER_NOTIFICATION_REPORT_HOSTNAME=Servidor-Easypanel
- WATCHTOWER_NOTIFICATION_REPORT=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
diff --git a/watchtower_telegram_notifier.py b/watchtower_telegram_notifier.py
index 8134ca0..3a670bd 100644
--- a/watchtower_telegram_notifier.py
+++ b/watchtower_telegram_notifier.py
@@ -4,21 +4,21 @@ Watchtower Telegram Notifier - Notificaciones personalizadas en español
Monitorea los logs de Watchtower y envía notificaciones detalladas a Telegram
"""
+import os
import docker
import requests
-import time
import re
-import os
from datetime import datetime
from threading import Thread
import logging
+import time
# Configuración
-TELEGRAM_BOT_TOKEN = "7676713419:AAG-tfwzgrA9JaU5xNjvG5iBlFeZpz2ahiY"
-TELEGRAM_CHAT_ID = "7940222048"
+# Obtener el token y el chat ID de las variables de entorno
+TELEGRAM_BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN")
+TELEGRAM_CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID")
WATCHTOWER_CONTAINER_NAME = "watchtower"
-# Obtener el nombre del host de una variable de entorno, con un valor por defecto
-HOSTNAME = os.environ.get("WATCHTOWER_NOTIFICATIONS_HOSTNAME", "Servidor-Easypanel")
+HOSTNAME = os.environ.get("WATCHTOWER_NOTIFICATION_REPORT_HOSTNAME", "Servidor-Easypanel")
# Configurar logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
@@ -33,6 +33,9 @@ class WatchtowerTelegramNotifier:
def send_telegram_message(self, message):
"""Envía mensaje a Telegram"""
+ if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID:
+ logger.error("❌ ERROR: TELEGRAM_BOT_TOKEN o TELEGRAM_CHAT_ID no están definidos.")
+ return False
try:
payload = {
'chat_id': TELEGRAM_CHAT_ID,
@@ -44,7 +47,7 @@ class WatchtowerTelegramNotifier:
logger.info("✅ Mensaje enviado a Telegram exitosamente")
return True
else:
- logger.error(f"❌ Error enviando mensaje: {response.status_code}")
+ logger.error(f"❌ Error enviando mensaje: {response.status_code} - {response.text}")
return False
except Exception as e:
logger.error(f"❌ Error conectando a Telegram: {e}")
@@ -228,7 +231,12 @@ def main():
notifier = WatchtowerTelegramNotifier()
- # Verificar conexión a Telegram
+ # Verificar si las credenciales están presentes
+ if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID:
+ logger.error("❌ Error: Variables de entorno de Telegram no encontradas. Asegúrate de pasarlas en el docker-compose.yaml.")
+ return
+
+ # Enviar mensaje de verificación inicial
test_message = f"🤖 Bot de notificaciones iniciado\n\n🏠 Servidor: {HOSTNAME}\n📅 Fecha: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n✅ Conexión establecida correctamente"
if notifier.send_telegram_message(test_message):