Skip to content

Self-host changedetection.io

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

Watches web pages for content changes and sends notifications through Apprise to Discord, Slack, Telegram, email, webhooks and more, with CSS/XPath/JSON filters to limit a watch to part of a page. Plain HTTP fetching works out of the box; JavaScript-heavy pages need an optional Playwright/Chrome browser container.

Key facts

CategoryMonitoring
LicenseApache-2.0
StackPython, Flask
Min RAM512 MB
Official imageyes
Measured idle RAM98 MB
Difficulty

What you need

  • Any VPS with at least 512 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# changedetection.io — upstream binds to localhost; put a reverse proxy in front
docker run -d --restart always -p "127.0.0.1:5000:5000" \
  -v datastore-volume:/datastore --name changedetection.io \
  dgtlmoon/changedetection.io
# →  http://localhost:5000 on the server — set a password under Settings

More in Monitoring

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.