[{"data":1,"prerenderedAt":86},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-changedetectionio-on-a-vps-monitor-any-website-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":81,"ctaBody":82,"ctaButton":83,"ctaUrl":84,"relatedPosts":85},182,"self-host-changedetectionio-on-a-vps-monitor-any-website",{"fr":10,"en":8,"ar":11},"self-host-changedetection-vps","استضافة-changedetectionio-على-vps-مراقبة-تغييرات-المواقع","Self-Host Changedetection.io on a VPS: Monitor Any Website","Deploy Changedetection.io on your VPS: open-source website change detection with CSS\u002FXPath filters, 80+ notification channels and optional Playwright support.",5,0,false,"2026-07-17T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-changedetection-vps-poster.svg",{"categorySlug":30,"appSlug":31},"monitoring-observability","changedetection","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.",[34,38,50,53,75,78],{"type":35,"title":36,"body":37},"h2","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\u002FChromium 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.",{"type":39,"title":40,"items":41},"ul","What you get with a self-hosted Changedetection.io",[42,43,44,45,46,47,48,49],"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\u002FChromium 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.",{"type":35,"title":51,"body":52},"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.",{"type":54,"title":55,"steps":56},"steps","Deploy Changedetection.io on your VPS",[57,60,63,66,69,72],{"title":58,"body":59},"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\u002Fchangedetection.io:latest` and starts the container. The web UI is available on port 5000 within 10 seconds — no account creation, no initial configuration required.",{"title":61,"body":62},"Add your first URL to watch","Navigate to `http:\u002F\u002F\u003Cyour-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.",{"title":64,"body":65},"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.",{"title":67,"body":68},"Configure a notification channel","Open the watch settings → Notifications tab. Changedetection.io uses Apprise for notifications. To send a Telegram message, enter `tgram:\u002F\u002Fbottoken\u002Fchatid`. For email, use `mailto:\u002F\u002Fuser:password@smtp.example.com`. For Slack, use the webhook URL format. You can stack multiple channels.",{"title":70,"body":71},"Enable Playwright for JavaScript-rendered pages (optional)","If the page you want to monitor is a React or Vue SPA, add a `browserless\u002Fchrome` 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.",{"title":73,"body":74},"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.",{"type":35,"title":76,"body":77},"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.",{"type":79,"body":80},"tip","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.","Deploy Changedetection.io","\u002Fvps-cloud",[],1787581011992]