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

[← Все шаблоны](https://pethost.dev/ru/templates/) · [Аналитика и мониторинг](https://pethost.dev/ru/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 — с passkey, через 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/ru/templates/monitoring/)

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

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/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/ru/postgres/)

Сравнения

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

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

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