Fa uns dies, per un tema de feina, vaig tenir la necessitat de monitoritzar una pàgina web cercant canvis al llarg del temps. Vaig estar cercant serveis per internet però se me va ocòrrer perquè no tenir un servei autoallotjat que faci això ?
Doncs me vaig posar a cercar serveis que fessin això i el que més me va agradar va ser “changedetection.io”. És un programari lliure, que també té un servei comercial a la url del mateix nom del programa (això pot confondre un poc, però bé…).
Per a fer el desplegament de la solució vaig emprar aquest docker-compose.yml:
version: "3.7" services: changedetection.io: image: ghcr.io/dgtlmoon/changedetection.io container_name: changedetection.io hostname: changedetection.io volumes: - ./changedetection/data:/datastore environment: #Default listening port, can also be changed with the -p option - PORT=5000 - PUID=1000 - PGID=1000 - WEBDRIVER_URL=http://browser-chrome:4444/wd/hub ports: - 5000:5000 restart: unless-stopped browser-chrome: hostname: browser-chrome container_name: browser-chrome image: selenium/standalone-chrome-debug:3.141.59 environment: - VNC_NO_PASSWORD=1 - SCREEN_WIDTH=1920 - SCREEN_HEIGHT=1080 - SCREEN_DEPTH=24 volumes: # Workaround to avoid the browser crashing inside a docker container # See https://github.com/SeleniumHQ/docker-selenium#quick-start - /dev/shm:/dev/shm restart: unless-stopped volumes: changedetection-data: null
Aquest docker-compose té una avantatge respecte al oficial de l’aplicació, que és el desplegament d’un Google Chrome virtual on es pot fer la càrrega de la pàgina a monitoritzar, així es carreguen bé els js (per exemple).
Una cosa que m’agrada molt d’aquesta aplicació és que pots configurar-li un bot de telegram, que serà el que t’avisi quan hi hagi canvis, és genial !!