https://github.com/chriskyfung/changedetection-stack
Docker stack for deploying changedetection.io with headless Chrome and Cloudflare Tunnel.
https://github.com/chriskyfung/changedetection-stack
change-detection cloudflared docker-compose self-host url-monitor website-change-detector website-change-monitor website-change-tracker website-monitor website-watcher
Last synced: 5 months ago
JSON representation
Docker stack for deploying changedetection.io with headless Chrome and Cloudflare Tunnel.
- Host: GitHub
- URL: https://github.com/chriskyfung/changedetection-stack
- Owner: chriskyfung
- License: mit
- Created: 2025-09-12T09:34:18.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-09-12T13:55:30.000Z (5 months ago)
- Last Synced: 2025-09-12T16:13:08.568Z (5 months ago)
- Topics: change-detection, cloudflared, docker-compose, self-host, url-monitor, website-change-detector, website-change-monitor, website-change-tracker, website-monitor, website-watcher
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Change Detection Stack
[](https://opensource.org/licenses/MIT)
This project provides a Docker-based stack for running [changedetection.io](https://github.com/dgtlmoon/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](https://www.cloudflare.com/products/tunnel/).
This setup is based on the official `docker-compose.yml` template from the [changedetection.io repository](https://github.com/dgtlmoon/changedetection.io/blob/master/docker-compose.yml).
## Features
- **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.
## Prerequisites
Before you begin, ensure you have the following installed:
- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/)
## Getting Started
1. **Clone the repository:**
```bash
git clone https://github.com/your-username/changedetection-stack.git
cd changedetection-stack
```
2. **Create a `.env` file:**
Copy the `.env.example` file to `.env`:
```bash
cp .env.example .env
```
3. **Configure the environment variables in `.env`:**
- `TZ`: Your timezone (e.g., `America/New_York`).
- `CLOUDFLARE_TUNNEL_TOKEN`: Your Cloudflare Tunnel token.
4. **Start the services:**
```bash
docker-compose up -d
```
This command will start all the services in the background.
5. **Access changedetection.io:**
Once the services are running, you can access the `changedetection.io` web interface through the URL provided by your Cloudflare Tunnel.
## Configuration
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.
## Volumes
- `changedetection-data`: A Docker volume for persisting the `changedetection.io` data.
## Networking
- `changedetection-net`: A Docker network for communication between the services.
## Contributing
Contributions are welcome! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) file for details.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.