diff --git a/README.md b/README.md new file mode 100644 index 0000000..dd418cd --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# Change Detection Deployment + +This repository contains the Docker Compose and CI/CD configuration for **changedetection.io**, a self-hosted tool for monitoring website changes and receiving notifications. + +## 🏗️ Architecture Overview + +* **Image**: `lscr.io/linuxserver/changedetection.io` (LinuxServer.io build) +* **Base URL**: `https://alerts.georgew.dev` +* **Networking**: Connected to the `web_traffic` external network for reverse proxy integration. +* **CI/CD**: Managed via Woodpecker CI, deploying automatically on pushes to the `main` branch. + +## 📂 Repository Structure + +* `docker-compose.yaml`: Configures the service with persistent volume mapping to `./changedetection_config`. +* `.woodpecker.yaml`: Handles the automated deployment to the `/home/george/change-detection` directory. + +## 🤖 Telegram Notifications Setup + +After the initial deployment, notifications are configured via the web interface. This instance is set up to alert via a dedicated Telegram Bot. + +### Configuration Steps: +1. **Create Bot**: Use [@BotFather](https://t.me/botfather) on Telegram to create a new bot and obtain your **Bot Token**. +2. **Get Chat ID**: Message your bot or use a tool like [@userinfobot](https://t.me/userinfobot) to find your personal **Chat ID**. +3. **App Settings**: + * Navigate to **Settings** > **Notifications** in the changedetection.io UI. + * Use the following Apprise notification URL format: + ```text + tgram://bottoken/ChatID + ``` +4. **Test**: Send a test notification to ensure the integration is working correctly. + +## 🚀 Deployment + +### Manual Setup +Ensure the `web_traffic` network is available before starting: +```bash +docker network create web_traffic +docker compose up -d +``` + +### CI/CD Workflow + +The Woodpecker pipeline performs the following: +- Creates the deployment directory at /home/george/change-detection. +- Syncs the repository files. +- Forces a recreation of the container with the latest image pulling. \ No newline at end of file