Deployment guide

Self-Host Changedetection.io on a VPS: Monitor Any Website

Deploy on a VPS Cloud →

Self-hosting5 min read

Self-Host Changedetection.io on a VPS: Monitor Any Website

Tracking competitor prices, restock alerts, government tenders and contract updates manually is exhausting. Changedetection.io (Apache 2.0, 24 k+ stars, v0.55.8) does it automatically: it watches any URL for changes and fires a notification the moment something moves — via email, Telegram, Slack, Discord, ntfy or 80+ other channels. Here is how to deploy it on a ServOrbit VPS in minutes.

Why self-host a change detection tool

SaaS change-detection services charge per check, cap the number of monitored URLs and send your watched content through their servers. Changedetection.io inverts the model: you run it on your VPS, monitor unlimited URLs at whatever frequency you choose, and all data stays on your infrastructure. Because it uses file-based storage with no external database, the overhead is tiny — the container idles under 256 MB of RAM and starts in under 10 seconds. Add a Playwright/Chromium sidecar for JavaScript-rendered pages and you get full-browser fidelity for SPAs, checkout counters and dynamically loaded price elements — things a plain HTTP fetch can never see.

What you get with a self-hosted Changedetection.io

  • Monitor unlimited URLs — product pages, tender portals, competitor sites, job boards — at any check interval.
  • CSS selector, XPath and keyword filters — watch only the element you care about, not the entire page.
  • 80+ notification channels via Apprise: email (SMTP), Telegram, Slack, Discord, ntfy, Gotify, Matrix, webhooks and more.
  • Optional Playwright/Chromium sidecar for JavaScript-rendered pages — renders in a real browser, not a plain HTTP client.
  • Full diff viewer — see exactly what changed, highlighted in context, with a history of previous snapshots.
  • Scheduled checks with jitter — from every minute to every 24 hours; randomised timing avoids bot-detection heuristics.
  • Single Docker container, file-based storage, under 256 MB RAM — zero external dependencies.
  • Apache 2.0 licence — no per-check fees, no cloud account, no telemetry.

Requirements

A ServOrbit VPS with Ubuntu 24.04 and 1 GB RAM minimum. Changedetection.io alone idles under 256 MB; if you add the Playwright sidecar for JavaScript-rendered pages, plan for 2 GB total. Docker and Docker Compose are provisioned automatically when you deploy via the ServOrbit marketplace. No domain name is required — the web UI is accessible directly on port 5000, but placing it behind a reverse proxy with HTTPS is recommended for persistent deployments.

Deploy Changedetection.io on your VPS

01

One-click deploy from the ServOrbit marketplace

Open your ServOrbit control panel, go to Marketplace → Monitoring & Observability → Changedetection.io, and click Deploy. Docker pulls dgtlmoon/changedetection.io:latest and starts the container. The web UI is available on port 5000 within 10 seconds — no account creation, no initial configuration required.

02

Add your first URL to watch

Navigate to http://<your-vps-ip>:5000. Click the blue + button at the top right, paste the URL you want to monitor — a product page, a job listing, a government portal — and click Watch. Changedetection.io immediately fetches the page and stores it as the baseline. The next check is scheduled based on your default interval.

03

Add a filter to isolate the element you care about

Without a filter, Changedetection.io detects any change on the page — including ad banners, timestamps and navigation updates. To focus on just the price or stock field, open the watch settings (pencil icon), go to the Filters tab and enter a CSS selector like .price, #stock-status or span.availability. You can also use XPath expressions or a keyword trigger.

04

Configure a notification channel

Open the watch settings → Notifications tab. Changedetection.io uses Apprise for notifications. To send a Telegram message, enter tgram://bottoken/chatid. For email, use mailto://user:[email protected]. For Slack, use the webhook URL format. You can stack multiple channels.

05

Enable Playwright for JavaScript-rendered pages (optional)

If the page you want to monitor is a React or Vue SPA, add a browserless/chrome sidecar container and set the PLAYWRIGHT_DRIVER_URL environment variable. In the watch settings, switch the Fetch Backend to playwright. Changedetection.io will now launch a headless browser, wait for the page to render and snapshot the live DOM.

06

Logging in for the first time

Changedetection.io opens straight onto the watch list, with no account and no login: you can add your first URL right away. The first thing to do next: open Settings → General and set a password.

Practical use cases for developers and SMBs

Changedetection.io covers a surprising range of automation needs: monitoring a supplier's PDF price list, watching a GitHub Releases page for new versions, alerting when a government contract award is published, or tracking when a competitor's pricing page changes. Any URL, any element, any notification channel — the combination of CSS filters, keyword triggers and Apprise's 80+ backends makes it a genuinely composable monitoring primitive.

Set a longer check interval (30–60 minutes) for public websites to be a polite citizen of the web and avoid being rate-limited or IP-blocked. Enable the jitter option to spread checks across the interval window.

Start monitoring websites — deploy Changedetection.io on your ServOrbit VPS

One-click install, under 256 MB RAM, 80+ notification channels.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.