In today’s fast-paced digital world, staying on top of website changes can be crucial for various reasons—whether you’re hunting for product restocks, monitoring pricing changes, tracking competitors, or keeping an eye on regulatory updates. Enter ChangeDetection.io, an open-source solution that makes website change monitoring accessible, efficient, and incredibly powerful.
What is ChangeDetection.io?
ChangeDetection.io is a free, open-source web page change detection, website watcher, and notification service. Designed with simplicity in mind, it allows you to monitor websites for text changes and receive alerts through various notification channels when changes occur.
Key Features
- Visual Selector Tool: Target specific parts of webpages with precision
- Diff Visualization: Easily see what changed with word, line, or character-level comparisons
- Interactive Browser Steps: Fill forms, click buttons, and perform actions before checking for changes
- Restock & Price Change Detection: Perfect for e-commerce monitoring and deal hunting
- Multiple Content Fetchers: Choose between fast non-JavaScript or Chrome-based fetchers
- Advanced Filtering: XPath, CSS Selectors, JSONPath, and jq support for targeting specific content
- PDF Monitoring: Track changes in PDF files, including text changes and file properties
- Scheduling Options: Set monitoring schedules with timezone support and day/time restrictions
- Proxy Support: Configure proxies per watch for enhanced monitoring capabilities
- Extensive Notifications: Integration with Discord, Slack, Email, Telegram, and many more services
Use Cases for ChangeDetection.io
- E-commerce Monitoring: Get notified when products come back in stock or prices change
- Regulatory Compliance: Stay updated on changes to legal documents and government websites
- Competitive Intelligence: Monitor competitor websites for new features, pricing, or announcements
- Job Hunting: Get alerts when new positions appear on company career pages
- Security Monitoring: Track unexpected changes in website source code
- News Tracking: Be the first to know about important announcements or updates
- API Monitoring: Detect changes in JSON API responses and trigger actions
Docker Installation Guide
One of the easiest ways to get started with ChangeDetection.io is through Docker. Let’s walk through the installation process.
Prerequisites
- Docker installed on your system
- Basic familiarity with terminal/command line
Method 1: Using Docker Compose (Recommended)
- Create a docker-compose.yml file with the following content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
--- services: changedetection: image: lscr.io/linuxserver/changedetection.io:latest container_name: changedetection environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - BASE_URL= #optional - PLAYWRIGHT_DRIVER_URL= #optional volumes: - /path/to/changedetection/config:/config ports: - 5000:5000 restart: unless-stopped |
- Start the container:
1 2 3 4 |
docker compose up -d |
Method 2: Using Docker CLI
If you prefer using the Docker command line directly:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker run -d \ --name=changedetection.io \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e BASE_URL= `#optional` \ -e PLAYWRIGHT_DRIVER_URL= `#optional` \ -p 5000:5000 \ -v /path/to/changedetection.io/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/changedetection.io:latest |
Method 3: Using the Original Repository
Alternatively, you can use the original repository:
- Clone the repository:
1 2 3 4 |
git clone https://github.com/dgtlmoon/changedetection.io.git cd changedetection.io |
- Start with Docker Compose:
1 2 3 |
docker compose up -d |
Method 4: Using Python Pip
For those who prefer a non-Docker approach:
1 2 3 4 |
pip3 install changedetection.io changedetection.io -d /path/to/empty/data/dir -p 5000 |
Accessing the Web Interface
After installation, access the web interface by navigating to:
1 2 3 |
http://localhost:5000 |
Understanding Docker Parameters
Here’s a breakdown of the important Docker parameters:
Parameter | Function |
---|---|
-p 5000:5000 | Exposes the WebUI port |
-e PUID=1000 | User ID for permissions |
-e PGID=1000 | Group ID for permissions |
-e TZ=Etc/UTC | Timezone setting |
-e BASE_URL= | URL when behind a reverse proxy |
-e PLAYWRIGHT_DRIVER_URL= | Chrome driver URL for JavaScript websites |
-v /config | Directory for persistent storage |
Updating ChangeDetection.io
For Docker Compose users:
1 2 3 4 |
docker compose pull docker compose up -d |
For Docker CLI users:
1 2 3 4 5 6 |
docker pull lscr.io/linuxserver/changedetection.io:latest docker stop changedetection.io docker rm changedetection.io # Re-run your docker run command |
Setting Up Your First Website Monitor
- Access the web interface at
http://localhost:5000
- Click “Add” to create a new watch
- Enter the URL you want to monitor
- Configure the check frequency, filters, and notification settings
- Use the Visual Selector to target specific page elements (if needed)
- Save your configuration
Advanced Configuration
Notification Setup
ChangeDetection.io supports numerous notification services through the Apprise library. Here are some examples:
- Discord:
discord://webhook_id/webhook_token
- Email:
mailto://user:pass@example.com?to=receivingAddress@example.com
- Slack:
slack://TokenA/TokenB/TokenC/Channel
- Telegram:
tgram://bottoken/ChatID
JSON Monitoring
For API or JSON data monitoring, you can use JSONPath or jq filters:
- To monitor a specific value:
json:$..price
orjq:..price
- For more complex filtering:
jq:".items[] | select(.price < 100)"
Proxy Configuration
You can configure proxies on a per-watch basis, perfect for monitoring geo-restricted content or enhancing your privacy.
Thoughts
ChangeDetection.io offers a powerful, flexible, and free solution for website change monitoring. With its Docker installation, you can have it up and running in minutes, and its extensive feature set makes it suitable for both simple and complex monitoring needs.
Whether you’re a developer, e-commerce enthusiast, job seeker, or just someone who needs to stay informed about website changes, ChangeDetection.io provides the tools you need to never miss an important update again.