Self-hosted мониторинг изменений сайта: Полное руководство по changedetection.io
Научитесь self-host отслеживать изменения веб-страниц с помощью changedetection.io. Практическое руководство по установке, настройке мониторинга цен, контента и стоков. Альтернатива дорогим SaaS-решениям.
Установка Docker и Docker Compose
Для работы changedetection.io необходимо установить Docker. Если вы используете Ubuntu/Debian, выполните следующие команды для обновления пакетов, добавления репозитория Docker и установки движка. После установки добавьте текущего пользователя в группу docker, чтобы не использовать sudo для каждой команды.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER
# Перезайдите в систему или выполните newgrp docker для применения измененийПодготовка директории и docker-compose.yml
Создайте рабочую директорию для хранения данных и конфигурационный файл docker-compose.yml. В данном примере используется база данных SQLite (по умолчанию) и монтирование тома для сохранения данных между перезапусками контейнера.
mkdir -p /opt/changedetection && cd /opt/changedetection
nano docker-compose.ymlСодержимое файла docker-compose.yml
Добавьте следующую конфигурацию в созданный файл. Сервис будет доступен на порту 5000.
version: '3.8'
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io:latest
container_name: changedetection
restart: unless-stopped
ports:
- "5000:5000"
environment:
- DATABASE_ENGINE=sqlite
- FETCH_WORKER_NUM=2
- DEFAULT_PORT=5000
volumes:
- ./data:/data
# Для подключения PostgreSQL (опционально):
# postgres:
# image: postgres:15-alpine
# environment:
# - POSTGRES_USER=changedetection
# - POSTGRES_PASSWORD=strongpassword
# - POSTGRES_DB=changedetectionЗапуск контейнера
Запустите контейнер в фоновом режиме. Проверьте логи, чтобы убедиться в отсутствии ошибок при старте.
docker compose up -d
docker compose logs -fПервоначальная настройка мониторинга
После запуска откройте веб-интерфейс по адресу http://<ваш-IP>:5000. Для добавления мониторинга нажмите 'Add new watch', введите URL и настройте метод отслеживания (Text, Visual Selector или JSON Path).
echo 'Откройте браузер и перейдите на http://<ваш_IP>:5000'Настройка безопасности (Базовая аутентификация)
Для защиты интерфейса добавьте переменные окружения USER и PASSWORD в docker-compose.yml и перезапустите контейнер.
environment:
- USER=admin
- PASSWORD=strong_password_here
- DATABASE_ENGINE=sqlite