Si necesitas monitorizar cambios en páginas web, detectar bajadas de precios o recibir alertas cuando productos vuelven a estar disponibles, changedetection docker compose es la solución perfecta. Esta herramienta open-source te permite automatizar el seguimiento de cualquier website desde tu propio servidor, sin depender de servicios externos de pago.
Con más de 29.900 estrellas en GitHub y una comunidad activa, esta aplicación se ha convertido en la herramienta preferida para monitorizar cambios web. Ya sea que busques ofertas, sigas actualizaciones de documentación técnica o necesites alertas de restock, podrás configurar notificaciones personalizadas para cada caso.
¿Qué es Changedetection Docker Compose?
changedetection docker compose es una configuración optimizada para desplegar changedetection.io utilizando contenedores Docker. Este sistema de monitorización web permite detectar cambios en tiempo real en cualquier página, desde simples actualizaciones de texto hasta modificaciones complejas en estructuras JSON o APIs.
La aplicación funciona visitando periódicamente las URLs que configures, comparando el contenido actual con versiones anteriores y enviando notificaciones cuando detecta diferencias. A diferencia de servicios comerciales que cobran mensualidades, esta solución es completamente gratuita y se ejecuta en tu infraestructura.
El proyecto es desarrollado por la comunidad bajo licencia Apache-2.0, lo que garantiza su transparencia y permite auditar el código fuente. Además, ofrece dos métodos de extracción: un fetcher HTTP rápido para sitios estáticos y un navegador Chrome completo (vía Playwright) para páginas que requieren JavaScript.
Características Principales de Changedetection Docker Compose
Esta plataforma de monitorización destaca por ofrecer funcionalidades avanzadas que normalmente encontrarías solo en herramientas empresariales de pago:
- Selector Visual de Elementos: Utiliza una interfaz point-and-click para seleccionar exactamente qué parte de una página deseas monitorizar, sin necesidad de escribir CSS o XPath manualmente.
- Detección de Precios y Restock: Configura alertas inteligentes cuando un producto baje de cierto precio o vuelva a tener stock disponible. Ideal para cazadores de ofertas.
- Automatización con Browser Steps: Programa acciones previas al monitoreo como inicios de sesión, aceptación de cookies o navegación por menús. Perfecto para contenido protegido.
- Filtros Avanzados: Soporta XPath, CSS Selectors, JSONPath y jq para extraer información precisa de estructuras complejas o APIs REST.
- Comparación Detallada: Visualiza cambios a nivel de palabra, línea o carácter, con resaltado de diferencias tipo git diff.
- Notificaciones Masivas: Integración con más de 80 servicios mediante Apprise: Discord, Telegram, Slack, Email, Webhooks, Ntfy, Gotify, Matrix y muchos más.
- Programación por Zonas Horarias: Limita las comprobaciones a horas específicas del día o días de la semana, optimizando recursos y evitando alertas nocturnas.
- Triggers Condicionales: Recibe notificaciones solo cuando se cumplan condiciones específicas, como la aparición de palabras clave o valores numéricos en rangos definidos.
Todas estas características están disponibles en tu configuración local mediante changedetection docker compose, permitiéndote un control total sobre tus monitoreos sin comprometer la privacidad de tus datos.
Casos de Uso Prácticos
Las posibilidades de aplicación son prácticamente ilimitadas. Estos son algunos escenarios donde esta herramienta demuestra su valor:
E-commerce y Compras Inteligentes
Monitoriza precios de productos en Amazon, AliExpress, o tiendas locales. Recibe alertas instantáneas cuando ese portátil que deseas baje de precio o cuando la PlayStation 5 vuelva a tener stock. Muchos usuarios reportan ahorros significativos al comprar en el momento exacto de las ofertas.
Desarrollo y DevOps
Mantente informado sobre nuevas versiones de software, cambios en documentación técnica de frameworks o actualizaciones en APIs que utilizas. Integra con Docker Compose para crear flujos automatizados que respondan a estos cambios.
Monitoreo de Competencia
Rastrea cambios en sitios web de la competencia: nuevos productos, actualizaciones de precios, modificaciones en términos de servicio o cambios en páginas de características. Ideal para análisis de mercado.
Alertas Gubernamentales y Legales
Monitoriza boletines oficiales, convocatorias públicas, cambios en regulaciones o actualizaciones en portales de trámites. Recibe notificaciones inmediatas sin necesidad de visitar decenas de websites diariamente.
Seguridad y Defacement Detection
Detecta modificaciones no autorizadas en tus propios sitios web o en páginas que gestionas. Una herramienta adicional para complementar sistemas de seguridad tradicionales.
Instalación de Changedetection Docker Compose
Desplegar changedetection docker compose en tu servidor es sorprendentemente sencillo. Solo necesitas Docker y Docker Compose instalados en tu sistema. Aquí te muestro la configuración completa y funcional:
Requisitos Previos
- Docker 20.10 o superior
- Docker Compose 2.0 o superior
- 2 GB de RAM mínimo (4 GB recomendado si usas Playwright)
- 500 MB de espacio en disco para imágenes y datos
Configuración Básica de Changedetection Docker Compose
Crea un archivo docker-compose.yml con la siguiente configuración:
version: '3.8'
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io:latest
container_name: changedetection
hostname: changedetection
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./changedetection-data:/datastore
environment:
- BASE_URL=https://changedetection.tudominio.com
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
networks:
- monitoring
# Navegador Chrome para sitios con JavaScript
playwright-chrome:
image: browserless/chrome:latest
container_name: playwright-chrome
hostname: playwright-chrome
restart: unless-stopped
environment:
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1080
- SCREEN_DEPTH=16
- ENABLE_DEBUGGER=false
- PREBOOT_CHROME=true
- CONNECTION_TIMEOUT=300000
- MAX_CONCURRENT_SESSIONS=5
- DEFAULT_BLOCK_ADS=true
- DEFAULT_STEALTH=true
networks:
- monitoring
networks:
monitoring:
driver: bridge
volumes:
changedetection-data:
Para iniciar los servicios, ejecuta en el directorio donde guardaste el archivo:
docker-compose up -d
Accede a la interfaz web en http://tu-servidor:5000 y comienza a configurar tus primeras monitorizaciones.
Primera Configuración
Una vez desplegado tu changedetection docker compose, configura la URL del navegador Playwright:
- Ve a Settings en la interfaz web
- En Fetching, busca Playwright Chrome/Chromium URL
- Ingresa:
ws://playwright-chrome:3000 - Guarda la configuración
Ahora podrás monitorizar tanto sitios estáticos como páginas que requieren JavaScript para renderizar su contenido.
Configuración Avanzada Changedetection Docker Compose
Para entornos de producción o casos de uso más complejos, esta configuración extendida incluye proxy, autenticación y optimizaciones de rendimiento:
version: '3.8'
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io:latest
container_name: changedetection
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./changedetection-data:/datastore
environment:
- BASE_URL=https://changedetection.tudominio.com
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
- FETCH_WORKERS=10
- HIDE_REFERER=true
- HTTP_PROXY=http://proxy:8080
- HTTPS_PROXY=http://proxy:8080
- USE_X_SETTINGS=1
labels:
- "traefik.enable=true"
- "traefik.http.routers.changedetection.rule=Host(`changedetection.tudominio.com`)"
- "traefik.http.routers.changedetection.entrypoints=websecure"
- "traefik.http.routers.changedetection.tls.certresolver=letsencrypt"
- "traefik.http.services.changedetection.loadbalancer.server.port=5000"
networks:
- monitoring
- proxy
playwright-chrome:
image: browserless/chrome:latest
container_name: playwright-chrome
restart: unless-stopped
environment:
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1080
- SCREEN_DEPTH=16
- ENABLE_DEBUGGER=false
- PREBOOT_CHROME=true
- CONNECTION_TIMEOUT=300000
- MAX_CONCURRENT_SESSIONS=5
- DEFAULT_BLOCK_ADS=true
- DEFAULT_STEALTH=true
- CHROME_REFRESH_TIME=3600000
networks:
- monitoring
networks:
monitoring:
driver: bridge
proxy:
external: true
Esta configuración incluye labels para Traefik como proxy inverso con certificados SSL automáticos, además de variables para optimizar el rendimiento con múltiples workers.
Variables de Entorno Importantes
FETCH_WORKERS: Número de workers paralelos para comprobaciones (default: 10)HIDE_REFERER: Oculta el header Referer en las peticiones HTTPUSE_X_SETTINGS: Permite configurar headers X-Forwarded para proxiesWEBDRIVER_DELAY: Delay en segundos antes de capturar la página con Playwright
Integraciones y Notificaciones
Una de las fortalezas principales de changedetection docker compose es su capacidad de integrarse con prácticamente cualquier sistema de notificaciones mediante Apprise. Esta librería Python soporta más de 80 servicios diferentes.
Configurar Notificaciones por Discord
Para recibir alertas en Discord, necesitas crear un webhook en tu servidor:
- En Discord, ve a Configuración del Canal → Integraciones → Webhooks
- Crea un nuevo webhook y copia la URL
- En changedetection, edita tu monitoreo y ve a Notifications
- Añade:
discord://webhook_id/webhook_token
Notificaciones por Telegram
Telegram es otra opción popular. Primero crea un bot con @BotFather, obtén el token y tu chat ID, luego configura:
tgram://bot_token/chat_id
Webhooks Personalizados
Para integrar con n8n, Home Assistant o sistemas propios, usa webhooks:
json://tu-servidor.com/webhook/endpoint
El payload incluirá información detallada del cambio detectado, permitiéndote crear automatizaciones complejas.
Email SMTP
Para notificaciones por correo electrónico, configura tu servidor SMTP:
mailto://usuario:contraseñ[email protected]:[email protected]
Consulta la documentación completa de Apprise para ver todas las opciones disponibles, incluyendo Slack, Microsoft Teams, Pushbullet, Ntfy, Gotify, Matrix y decenas más.
Comparativa con Alternativas de Monitorización
Aunque existen otras soluciones para monitorizar páginas web, changedetection docker compose ofrece ventajas significativas frente a alternativas comerciales y open-source:
Vs. Servicios Comerciales (Visualping, Distill)
Los servicios SaaS como Visualping cobran entre 10-50 dólares mensuales por funcionalidades limitadas. Con changedetection docker compose obtienes monitoreos ilimitados sin restricciones de páginas, comprobaciones o notificaciones. Además, tus datos permanecen en tu infraestructura, garantizando privacidad total.
La diferencia de costos es notable: una suscripción anual de 240-600 dólares versus el costo de un VPS básico de 5 dólares mensuales que puede alojar decenas de servicios adicionales.
Vs. Scripts Personalizados
Programar scripts propios en Python o Node.js requiere tiempo de desarrollo, mantenimiento continuo y gestión de dependencias. Esta solución preempaquetada ofrece interfaz web intuitiva, gestión visual de monitorizaciones y actualizaciones automáticas vía Docker.
Ventajas Competitivas Clave
- Cero Costos Recurrentes: Sin suscripciones mensuales ni límites artificiales
- Privacidad Garantizada: Los datos nunca salen de tu servidor
- Extensibilidad Total: API REST para automatizaciones personalizadas
- Comunidad Activa: Más de 29.900 estrellas en GitHub con actualizaciones regulares
- Soporte JavaScript Completo: Navegador Chrome real incluido para sitios dinámicos
Solución de Problemas Comunes en Changedetection Docker Compose
Durante la configuración e implementación de changedetection docker compose, puedes encontrar algunos desafíos técnicos. Aquí están las soluciones a los problemas más frecuentes:
Error de Conexión con Playwright
Si recibes errores al intentar usar el fetcher de Chrome, verifica que ambos contenedores estén en la misma red Docker. Ejecuta:
docker network inspect monitoring
Ambos servicios deben aparecer listados. Si no, recrea los contenedores con docker-compose down && docker-compose up -d.
Sitios Web Bloqueando las Peticiones
Algunos sitios detectan y bloquean scrapers. En la configuración de changedetection docker compose, activa el modo stealth y configura User-Agents personalizados. También puedes añadir delays entre peticiones en la configuración de cada monitorización individual.
Para sitios especialmente restrictivos, considera usar servicios de proxy residencial o rotar las IPs de salida mediante VPN.
Alto Consumo de Memoria
Chrome puede consumir 500-800 MB de RAM por sesión. Si experimentas problemas de memoria, reduce MAX_CONCURRENT_SESSIONS a 2-3 en lugar de 5, o limita el número de monitorizaciones que usan Playwright simultáneamente.
Notificaciones No Llegan
Verifica la sintaxis de tu URL de Apprise. Un error común es olvidar el protocolo correcto. Para Discord es discord://, para Telegram tgram://. Consulta los logs del contenedor con:
docker logs changedetection
Los errores de notificación aparecerán claramente en la salida, indicándote exactamente qué falló.
Falsos Positivos Constantes
Si recibes alertas aunque la página no haya cambiado significativamente, utiliza filtros de texto o selectores más específicos. Elementos como timestamps, contadores de visitas o banners publicitarios rotativos generan cambios constantes que no son relevantes.
Configura expresiones regulares o filtros JSON para extraer únicamente la información que realmente importa. La documentación oficial incluye ejemplos detallados de patrones de filtrado avanzados.
Casos de Uso Avanzados
Una vez dominada la configuración básica de changedetection docker compose, puedes implementar escenarios más sofisticados que demuestran el verdadero potencial de la herramienta:
Monitorización de APIs REST
Más allá de páginas web tradicionales, puedes monitorizar endpoints de API usando filtros JSONPath. Configura alertas cuando cambie la estructura de respuesta, aparezcan nuevos campos o se modifiquen valores específicos en tu integración.
$.data[*].version
Este filtro JSONPath extraería únicamente las versiones de todos los elementos en un array, ignorando otros cambios irrelevantes en la respuesta JSON.
Integración con Sistemas de Alerta
Conecta tu instalación de changedetection docker compose con PagerDuty, Opsgenie o sistemas de gestión de incidentes empresariales mediante webhooks personalizados. Esto permite escalar alertas críticas según prioridad y crear cadenas de responsabilidad.
Generación de Feeds RSS Personalizados
Cada monitorización puede generar un feed RSS único. Agrega estos feeds a tu lector favorito (Feedly, Inoreader) para crear un dashboard centralizado de todas tus páginas monitorizadas, incluso aquellas que originalmente no ofrecen RSS.
Automatización con n8n o Home Assistant
Mediante webhooks JSON, puedes desencadenar workflows complejos: cuando detectes una oferta, envía un mensaje a Telegram, registra en una base de datos y crea una tarea en Notion. Las posibilidades de automatización son infinitas al combinar esta herramienta con plataformas de automatización.
Buenas Prácticas y Optimización
Para sacar el máximo provecho a tu instalación de changedetection docker compose, considera estas recomendaciones basadas en experiencias de la comunidad:
Intervalos de Comprobación
No configures intervalos demasiado agresivos. Para la mayoría de casos, 5-15 minutos es suficiente. Intervalos menores pueden resultar en bloqueos por parte de los sitios web objetivo o consumir recursos innecesariamente.
Uso de Selectores Precisos
En lugar de monitorizar páginas completas, utiliza selectores CSS o XPath para enfocarte en elementos específicos. Esto reduce falsos positivos causados por cambios irrelevantes como fechas, anuncios rotativos o contadores de visitas.
Filtrado de Contenido Dinámico
Usa las opciones de filtrado para ignorar elementos que cambian constantemente: timestamps, IDs de sesión, tokens CSRF. Esto mantiene tus alertas relevantes.
Backups Regulares
El directorio changedetection-data contiene toda tu configuración e historial. Incluye este volumen en tu estrategia de backups para no perder tus monitorizaciones configuradas.
Monitoreo de Recursos
Si utilizas Playwright extensivamente, monitoriza el uso de CPU y RAM. Chrome puede consumir recursos significativos con múltiples sesiones paralelas. Ajusta MAX_CONCURRENT_SESSIONS según tu hardware.
Conclusión
changedetection docker compose es una solución robusta, flexible y completamente gratuita para monitorizar cambios en sitios web. Ya sea que necesites rastrear precios, seguir actualizaciones técnicas o simplemente estar informado sobre cambios en páginas importantes, esta herramienta te ofrece control total sobre tus monitorizaciones.
Con más de 29.900 estrellas en GitHub, soporte activo de la comunidad y actualizaciones frecuentes, el proyecto demuestra madurez y confiabilidad. La combinación de potencia y simplicidad lo convierte en una excelente adición a cualquier homelab o infraestructura empresarial.
La configuración mediante contenedores facilita el despliegue y mantenimiento, mientras que las extensas opciones de integración permiten construir flujos de automatización complejos. Si aún no lo has probado, este es el momento perfecto para incorporar el monitoreo web automatizado a tus herramientas DevOps.
Preguntas Frecuentes (FAQ)
¿Changedetection Docker Compose es gratuito?
Sí, changedetection.io es completamente open-source bajo licencia Apache-2.0. Puedes desplegarlo en tu infraestructura sin costos de licencia. Solo pagas por los recursos de servidor que utilices.
¿Puedo monitorizar sitios que requieren inicio de sesión?
Absolutamente. Utilizando la funcionalidad de Browser Steps con Playwright, puedes automatizar inicios de sesión, aceptación de cookies y navegación compleja antes de capturar el contenido que deseas monitorizar.
¿Cuántos sitios puedo monitorizar simultáneamente?
No hay límite técnico en el número de monitorizaciones. El límite práctico depende de los recursos de tu servidor y los intervalos de comprobación configurados. Usuarios reportan gestionar cientos de monitorizaciones sin problemas en servidores modestos.
¿Es necesario usar Playwright para todos los sitios?
No. Para sitios estáticos o que no dependen de JavaScript, el fetcher HTTP básico es más rápido y consume menos recursos. Solo necesitas Playwright para páginas que renderizan contenido dinámicamente con JavaScript.
¿Cómo evito ser bloqueado por los sitios que monitorizo?
Usa intervalos de comprobación razonables (mínimo 5 minutos), activa la opción stealth mode en Playwright, configura User-Agents realistas y considera usar proxies rotativos para monitoreos intensivos. Respeta siempre los términos de servicio de los sitios.
¿Puedo exportar mi configuración?
Sí, changedetection incluye opciones de backup y restauración. Puedes exportar toda tu configuración en formato JSON, facilitando migraciones entre servidores o creación de copias de seguridad.
