---
title: "changedetection.io: Docker Compose і хостинг в один клік"
description: "Self-hosted changedetection.io: моніторинг змін на сайтах із відкритим кодом — ціни, наявність, правки сторінок, сповіщення в пошту, Telegram чи Discord."
---

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Аналітика й моніторинг](https://pethost.dev/uk/templates/monitoring/)

# Задеплойте changedetection.io в один клік

Стежить за вебсторінками й повідомляє, коли вони змінюються: ціни, наявність товарів, новини

Альтернатива Visualping і Distill.io на вашій машині.

[Задеплоїти на Pethost](https://console.pethost.dev/?template=changedetection)

## Що таке changedetection.io?

changedetection.io стежить за вебсторінками й повідомляє, коли вони змінюються. Його використовують замість Visualping або Distill.io, щоб ловити зниження цін і повернення товарів у продаж, вакансії, оголошення держорганів, примітки до релізів і документи, які змінюються без попередження. Кожне завдання перевіряє свою сторінку за розкладом, раз на три години, якщо не задати інший інтервал, і показує зміни по словах, по рядках або по символах.

Він може стежити лише за потрібною частиною сторінки, вибраною CSS-селектором, XPath або, для JSON, JSONPath чи jq, спрацьовувати на один текст, ігнорувати інший або відстежувати ціну й наявність товару. PDF-файли він теж читає. Сповіщення йдуть до понад 85 сервісів через Apprise, як-от пошта, Telegram, Discord, Slack і ntfy, а кожна зміна потрапляє ще й у RSS-стрічку.

Цей шаблон запускає changedetection.io з його простим і швидким способом отримання сторінок, даними в томі й паролем, який ви вказуєте, від першого запуску, тож його сторінка ніколи не буває відкритою для всіх. Він отримує сторінки в тому вигляді, у якому їх віддає сервер: «Візуальний селектор фільтра», «Кроки браузера» і сторінки, текст яких малює JavaScript, потребують отримання через Chrome, а шаблон обходиться без нього, щоб лишатися легким.

## Хостинг changedetection.io на Pethost

1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
2. Вікно «Новий проєкт» відкривається на застосунку changedetection.io. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: **Пароль**.
3. За хвилину-дві changedetection.io працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

## Питання про changedetection.io

**changedetection.io безкоштовний?**

Так. changedetection.io має відкритий код за ліцензією Apache 2.0, і якщо запускати його самому, платити доведеться лише за машину. Його автори також продають хмарну версію за 8,99 $ на місяць, із Chrome і проксі в комплекті.

**Як отримувати сповіщення в Telegram, Discord або на пошту?**

Додайте URL сповіщень у розділі «Settings → Сповіщення»: changedetection.io надсилає їх через Apprise, який знає понад 85 сервісів, записаних у вигляді URL, як-от tgram://, discord:// або mailto://. Завдання може мати й власні URL, на своїй вкладці «Сповіщення».

**Чи може changedetection.io стежити за цінами й наявністю?**

Так. Під час додавання сторінки товару оберіть «Виявлення поповнення та ціни»: changedetection.io бере ціну й наявність із даних сторінки та сповіщає вас, коли ціна опускається нижче порогу чи піднімається вище, змінюється на заданий вами відсоток або товар знову з’являється в наявності.

**Чому сторінка приходить порожньою або без вмісту?**

Деякі сторінки малюють текст за допомогою JavaScript уже після завантаження, а цей шаблон отримує сторінки в тому вигляді, у якому їх віддає сервер. Стежте натомість за RSS-стрічкою сайту, його JSON API або сторінкою, де цей текст є, або додайте в compose-файл браузер Chrome для отримання сторінок, як-от sockpuppetbrowser, і спрямуйте на нього PLAYWRIGHT_DRIVER_URL.

**Як стежити лише за частиною сторінки?**

На сторінці «Редагувати» завдання, на вкладці «Фільтри та Тригери», вкажіть CSS-селектор або XPath потрібної частини й рядки тексту, які треба ігнорувати. Враховуються лише зміни всередині неї, тож годинник чи реклама в іншому місці сторінки нічого не запустять.

**Скільки пам’яті й диска потрібно changedetection.io?**

changedetection.io має скромні вимоги: близько 60 MB пам’яті, а кожне завдання під час кожної зміни зберігає стиснуту копію сторінки, тож його дані ростуть на кілька кілобайтів за кожну перевірку, яка знайшла зміну. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

## changedetection.io: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

**Контейнери:** changedetection (dgtlmoon/changedetection.io:0.60).

**Томи, у щонічному бекапі:** 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)[Відкрити на GitHub](https://github.com/pethost-dev/templates/tree/main/changedetection)

## [Ще в категорії «Аналітика й моніторинг»](https://pethost.dev/uk/templates/monitoring/)

- [**Umami**Вебаналітика для ваших сайтів, без cookie](https://pethost.dev/uk/templates/umami/)
- [**Uptime Kuma**Моніторинг доступності зі сповіщеннями та сторінками статусу](https://pethost.dev/uk/templates/uptime-kuma/)
- [**Kener**Сторінка статусу з моніторами доступності та інцидентами](https://pethost.dev/uk/templates/kener/)
- [**Beszel**Легкий моніторинг серверів: CPU, пам’ять, диск, мережа й статистика Docker, з історією та сповіщеннями](https://pethost.dev/uk/templates/beszel/)
- [**Checkmate**Моніторинг доступності, швидкості сторінок і серверів, зі сторінками статусу](https://pethost.dev/uk/templates/checkmate/)
- [**Gotify**Сервер push-повідомлень: скрипти надсилають їх через REST API, а вебзастосунок і застосунок для Android одразу їх показують](https://pethost.dev/uk/templates/gotify/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагін](https://github.com/pethost-dev/plugin)
- [Умови](https://pethost.dev/terms/)
- [Конфіденційність](https://pethost.dev/privacy/)
- [Повернення коштів](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Бази даних

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

Порівняння

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/uk/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/uk/blog/coolify-cloud-vs-dokploy-cloud/)
- [Ціни Railway vs Render vs Fly.io](https://pethost.dev/uk/blog/railway-vs-render-vs-fly-io-pricing/)
- [Керований хостинг Docker Compose](https://pethost.dev/uk/blog/managed-docker-compose-hosting/)

Альтернативи

- [Альтернативи Railway](https://pethost.dev/uk/blog/railway-alternatives/)
- [Альтернативи Heroku](https://pethost.dev/uk/blog/heroku-alternatives/)
- [Альтернативи Dokploy](https://pethost.dev/uk/blog/dokploy-alternatives/)
- [Альтернативи Coolify](https://pethost.dev/uk/blog/coolify-alternatives/)
- [Альтернативи Render](https://pethost.dev/uk/blog/render-alternatives/)
- [Альтернативи Sliplane](https://pethost.dev/uk/blog/sliplane-alternatives/)
