← Zurück zur Übersicht changedetection.io mit Docker Compose: Webseiten-Änderungen lokal überwachen

changedetection.io mit Docker Compose: Webseiten-Änderungen lokal überwachen

changedetection.io mit Docker Compose: Webseiten-Änderungen lokal überwachen

Wer Preisänderungen, Restocks, Release-Notes oder Behördenseiten im Blick behalten will, landet schnell bei SaaS-Diensten mit Limits, Abo-Modellen oder fragwürdiger Datenspur. changedetection.io ist dafür die deutlich direktere Lösung: selbst hosten, im Browser bedienen, Änderungen sauber vergleichen und Benachrichtigungen bei Bedarf später nachrüsten.

Für dieses Tutorial ist das Projekt ein starker Fallback statt eines halb verifizierten News-Posts. Die aktuell abrufbaren Projektquellen beschreiben changedetection.io klar als Tool zum Überwachen von Webseitenänderungen, nennen Preis- und Restock-Tracking ausdrücklich als Anwendungsfälle und zeigen ein sehr kompaktes Compose-Setup mit lokalem Port 5000, persistentem Daten-Volume und optionalem Playwright-Fetcher für JavaScript-lastige Seiten.

Screenshot der changedetection.io-Website als Artikelbild

Was du am Ende hast

  • changedetection.io lokal unter http://127.0.0.1:5000
  • Ein kleines Compose-Projekt mit persistentem Daten-Volume
  • Deinen ersten Monitor im Browser
  • Prüfschritte mit docker compose, Logs und curl

Voraussetzungen

  • Docker Engine und docker compose sind installiert
  • Port 5000 ist frei
  • Du arbeitest in einem neuen Ordner und nicht zwischen alten Compose-Dateien

1. Arbeitsordner anlegen

Erst die saubere Sandbox, dann die App:

mkdir changedetection-lab && cd changedetection-lab

2. Compose-Datei erstellen

Die offizielle Compose-Datei des Projekts ist bewusst klein. Für einen lokalen Start reicht ein einzelner Dienst mit Volume und lokal gebundenem Port vollständig aus. Ich pinne das Image hier auf 0.54.7, weil die aktuell abrufbare Release-Seite diesen Stand als neuesten Release markiert.

changedetection-lab/compose.yaml:

services:
  changedetection:
    image: ghcr.io/dgtlmoon/changedetection.io:0.54.7
    container_name: changedetection
    hostname: changedetection
    volumes:
      - changedetection-data:/datastore
    environment:
      TZ: Europe/Berlin
    ports:
      - "127.0.0.1:5000:5000"
    restart: unless-stopped

volumes:
  changedetection-data:

Die Bindung an 127.0.0.1 ist für einen lokalen Start sinnvoller als ein offener Port auf allen Interfaces. Wenn du später extern darauf zugreifen willst, gehört ein Reverse Proxy mit HTTPS davor.

3. Stack starten

Jetzt ziehst du das Image und startest den Container im Hintergrund:

docker compose pull
docker compose up -d

Danach sollte die Oberfläche hier erreichbar sein:

http://127.0.0.1:5000

4. Funktion prüfen

Bevor du Monitore anlegst, prüfe einmal, ob der Dienst sauber hochkommt:

docker compose ps
docker compose logs --tail=100 changedetection
curl -I http://127.0.0.1:5000

Wenn alles sauber läuft, siehst du einen laufenden Container und curl liefert einen erfolgreichen HTTP-Status zurück. Genau hier hat das Tutorial bereits ein sichtbares Ergebnis: die Weboberfläche ist lokal erreichbar.

5. Den ersten Monitor anlegen

Öffne http://127.0.0.1:5000 im Browser. changedetection.io startet direkt in eine Oberfläche, in der du neue Watches anlegen kannst.

Für den ersten Test reicht eine URL, die sich real ändern kann, zum Beispiel:

  • eine Produktseite mit Preisangabe
  • eine Release-Notes-Seite
  • eine Behördenseite mit Termin- oder PDF-Updates
  • eine Karriereseite, auf der neue Stellen auftauchen

Trage die URL ein, speichere den Watch und starte den ersten Abruf. Danach siehst du sofort den eigentlichen Kern des Projekts:

  • gespeicherte Version der Seite
  • Zeitstempel des letzten Checks
  • Diff-Ansicht bei späteren Änderungen
  • Optionen für Filter, Trigger und Benachrichtigungen

6. Warum changedetection.io praktisch ist

Die Projektquellen nennen genau die Fälle, für die das Tool im Alltag nützlich ist:

  • Preisänderungen und Restocks verfolgen
  • Änderungen an PDFs oder Dokumenten mitbekommen
  • Release-Seiten und Security-Hinweise überwachen
  • JSON-APIs, HTML und selektierte Seitenteile prüfen
  • Benachrichtigungen später per Mail, Discord, Slack, Telegram oder Webhook verschicken

Der eigentliche Vorteil liegt nicht in einer besonders hübschen Oberfläche, sondern in Kontrolle. Du definierst selbst, was beobachtet wird, wie oft geprüft wird und über welchen Kanal später ein Alarm rausgeht.

7. Wichtige Befehle für den Alltag

Für Betrieb und Updates brauchst du zunächst nur diese Kommandos:

docker compose logs -f changedetection
docker compose pull
docker compose up -d
docker compose down

Deine Daten bleiben im Volume changedetection-data erhalten.

8. Wenn eine Seite stark von JavaScript abhängt

Die offizielle Compose-Datei verweist zusätzlich auf einen empfohlenen sockpuppetbrowser-Dienst. Den brauchst du nicht für einfache HTML-Seiten, aber er wird relevant, wenn Inhalte erst nach JavaScript, Login-Schritten oder Interaktion sichtbar werden.

Für den ersten lokalen Start würde ich ihn bewusst noch nicht dazunehmen. Erst das Basissetup sauber hochfahren, dann gezielt erweitern.

9. Was du nach dem ersten Test absichern solltest

  • Port nicht dauerhaft offen ins Netz stellen
  • Reverse Proxy mit HTTPS voranstellen, wenn du extern zugreifen willst
  • Das Volume changedetection-data in dein Backup aufnehmen
  • Watch-Intervalle sinnvoll setzen, statt fremde Seiten aggressiv zu pollen

Fazit

Wenn ein News-Thema nicht sauber genug belegbar ist, sollte der Ersatz wenigstens ein echtes Problem lösen. Genau das schafft changedetection.io: Du hast in wenigen Minuten eine lokal laufende Überwachungsoberfläche, einen sichtbaren Browser-Endpunkt und ein Werkzeug, das Preisalarme, Restocks oder Release-Seiten real abnimmt.

Für diesen Blog ist das deutlich brauchbarer als noch ein generischer Docker-Grundlagenpost ohne Ergebnis.

Quellen