---
title: "changedetection.io: Docker Compose i hosting jednym kliknięciem"
description: "Hostuj changedetection.io u siebie: monitoring zmian na stronach WWW open source. Spadki cen, ponowna dostępność, edycje, alerty e-mail, Telegram, Discord."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Analityka i monitoring](https://pethost.dev/pl/templates/monitoring/)

# Wdróż changedetection.io jednym kliknięciem

Obserwuje strony internetowe i daje znać, gdy się zmienią: ceny, ponowna dostępność, nowości

Alternatywa dla Visualping i Distill.io, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=changedetection)

## Czym jest changedetection.io?

changedetection.io obserwuje strony internetowe i daje znać, gdy się zmienią. Ludzie używają go zamiast Visualping albo Distill.io do śledzenia spadków cen i powrotu produktów do sprzedaży, ofert pracy, komunikatów urzędów, informacji o wydaniach i dokumentów, które zmieniają się bez słowa. Każda obserwacja sprawdza swoją stronę według harmonogramu, co trzy godziny, chyba że ustawisz inaczej, i pokazuje, co się zmieniło: słowo po słowie, linia po linii albo znak po znaku.

Może obserwować tylko tę część strony, która się liczy, wybraną selektorem CSS, XPath albo, dla JSON-a, JSONPath lub jq, a także reagować na dany tekst, ignorować inny albo śledzić cenę i dostępność produktu. Czyta też pliki PDF. Alerty trafiają przez Apprise do ponad 85 usług, takich jak e-mail, Telegram, Discord, Slack i ntfy, a każda zmiana pojawia się też w kanale RSS.

Ten szablon uruchamia changedetection.io z jego prostym, szybkim mechanizmem pobierania, danymi na wolumenie i hasłem, które podajesz, od pierwszego uruchomienia, więc jego strona nigdy nie jest otwarta dla wszystkich. changedetection.io pobiera strony tak, jak zostały wysłane: „Wizualny selektor filtrów”, „Kroki w przeglądarce” i strony, których tekst rysuje JavaScript, wymagają pobierania przez Chrome, które ten szablon pomija, żeby pozostać lekkim.

## Hosting changedetection.io na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji changedetection.io. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **Hasło**.
3. Za minutę czy dwie aplikacja changedetection.io działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o changedetection.io

**Czy changedetection.io jest darmowy?**

Tak. changedetection.io to open source na licencji Apache 2.0, a uruchomienie go u siebie kosztuje tylko maszynę. Jego twórcy sprzedają też wersję hostowaną za 8,99 $ miesięcznie, z Chrome’em i proxy w cenie.

**Jak dostawać alerty na Telegramie, Discordzie albo e-mailem?**

Dodaj URL powiadomień na stronie Ustawienia → Powiadomienia: changedetection.io wysyła je przez Apprise, który obsługuje ponad 85 usług, zapisywanych jako adresy URL, takie jak tgram://, discord:// czy mailto://. Obserwacja może też mieć własne adresy, w swojej zakładce Powiadomienia.

**Czy changedetection.io śledzi ceny i ponowną dostępność?**

Tak. Przy dodawaniu strony produktu wybierz „Wykrywanie uzupełnienia zapasów i zmian cen”: changedetection.io odczyta cenę i stan magazynowy z danych strony i powiadomi cię, gdy cena spadnie poniżej progu lub wzrośnie powyżej niego, zmieni się o ustalony przez ciebie procent albo produkt znów będzie dostępny.

**Dlaczego strona przychodzi pusta albo bez treści?**

Niektóre strony rysują tekst JavaScriptem już po załadowaniu, a ten szablon pobiera strony tak, jak wysyła je serwer. Obserwuj zamiast tego kanał RSS witryny, jej API JSON albo stronę, która zawiera ten tekst, albo dodaj do pliku compose przeglądarkę Chrome do pobierania stron, taką jak sockpuppetbrowser, i ustaw PLAYWRIGHT_DRIVER_URL tak, żeby na nią wskazywał.

**Jak obserwować tylko część strony?**

Na stronie „Edytuj” obserwacji, w zakładce Filtry i wyzwalacze, podaj selektor CSS albo XPath części, która cię interesuje, i linie tekstu do zignorowania. Liczą się tylko zmiany w jej obrębie, więc zegar albo reklama w innym miejscu strony niczego nie uruchomią.

**Ile pamięci i miejsca na dysku potrzebuje changedetection.io?**

changedetection.io ma małe wymagania: około 60 MB pamięci, a każda obserwacja przy każdej zmianie zapisuje skompresowaną kopię strony, więc jej dane rosną o kilka kilobajtów z każdym sprawdzeniem, które znajdzie zmianę. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## changedetection.io: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

**Kontenery:** changedetection (dgtlmoon/changedetection.io:0.60).

**Wolumeny, w nocnym backupie:** datastore.

```
services:
  changedetection:
    image: dgtlmoon/changedetection.io:0.60
    restart: unless-stopped
    environment:
      BASE_URL: ${URL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      # The sites watched do not see this address as the referrer of each check.
      HIDE_REFERER: "true"
    # changedetection.io has one password and none at first, so its page would be open to anyone
    # until it is set. SALTED_PASS gives it the password from the first start, salted and hashed as
    # changedetection.io stores one; its settings cannot remove it.
    command:
      - sh
      - -c
      - |
        SALTED_PASS=$$(python3 -c '
        import base64, hashlib, os
        salt = os.urandom(32)
        key = hashlib.pbkdf2_hmac("sha256", os.environ["ADMIN_PASSWORD"].encode(), salt, 100000)
        print(base64.b64encode(salt + key).decode())
        ') || exit 1
        export SALTED_PASS
        unset ADMIN_PASSWORD
        exec python ./changedetection.py -d /datastore
    volumes:
      - datastore:/datastore

volumes:
  datastore:
```

[compose.yaml](https://pethost.dev/templates/changedetection/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/changedetection)

## [Więcej w kategorii Analityka i monitoring](https://pethost.dev/pl/templates/monitoring/)

- [**Umami**Analityka webowa twoich stron, bez plików cookie](https://pethost.dev/pl/templates/umami/)
- [**Uptime Kuma**Monitoring dostępności z alertami i stronami statusu](https://pethost.dev/pl/templates/uptime-kuma/)
- [**Kener**Strona statusu z monitorami dostępności i incydentami](https://pethost.dev/pl/templates/kener/)
- [**Beszel**Lekki monitoring serwerów: CPU, pamięć, dysk, sieć i statystyki Dockera, z historią i alertami](https://pethost.dev/pl/templates/beszel/)
- [**Checkmate**Monitoring dostępności, szybkości stron i serwerów, ze stronami statusu](https://pethost.dev/pl/templates/checkmate/)
- [**Gotify**Serwer powiadomień push: skrypty wysyłają wiadomości przez REST API, a aplikacja webowa i aplikacja na Androida pokazują je na żywo](https://pethost.dev/pl/templates/gotify/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

- [Postgres](https://pethost.dev/pl/postgres/)

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
