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