This project provides a Docker-based stack for running changedetection.io, a powerful open-source tool for monitoring and detecting changes in websites.
The stack is pre-configured with the following services:
- changedetection.io: The main web application for change detection.
- browser-sockpuppet-chrome: A headless Chrome browser for rendering web pages, enabling advanced change detection features.
- cloudflared: A service for exposing the
changedetection.io
application to the internet using Cloudflare Tunnel.
This setup is based on the official docker-compose.yml
template from the changedetection.io repository.
- Easy Deployment: Get a full change detection stack running with a single command.
- Persistent Storage: Your
changedetection.io
data is stored in a Docker volume, ensuring it persists across container restarts. - Secure Remote Access: Expose your
changedetection.io
instance to the internet securely with Cloudflare Tunnel. - Scalable: The stack is designed to be scalable, allowing you to monitor a large number of websites.
Before you begin, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/your-username/changedetection-stack.git cd changedetection-stack
-
Create a
.env
file:Copy the
.env.example
file to.env
:cp .env.example .env
-
Configure the environment variables in
.env
:TZ
: Your timezone (e.g.,America/New_York
).CLOUDFLARE_TUNNEL_TOKEN
: Your Cloudflare Tunnel token.
-
Start the services:
docker-compose up -d
This command will start all the services in the background.
-
Access changedetection.io:
Once the services are running, you can access the
changedetection.io
web interface through the URL provided by your Cloudflare Tunnel.
The primary configuration is managed through environment variables in the .env
file. See the "Getting Started" section for details.
You can customize the docker-compose.yml
file for advanced settings, such as:
browser-sockpuppet-chrome
:SCREEN_WIDTH
,SCREEN_HEIGHT
,SCREEN_DEPTH
: The screen resolution for the headless browser.MAX_CONCURRENT_CHROME_PROCESSES
: The maximum number of concurrent Chrome processes.
changedetection-data
: A Docker volume for persisting thechangedetection.io
data.
changedetection-net
: A Docker network for communication between the services.
Contributions are welcome! Please read the CONTRIBUTING.md file for details.
This project is licensed under the MIT License - see the LICENSE file for details.