What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
You can run changedetection.io on a VPS using Docker Compose or a standalone Docker container. Neither route is a universal one-click VPS installer: you still need to prepare the server and decide how to handle persistent storage, public access, TLS, and notifications. The project’s official repository provides the application setup instructions and current Compose example.
Choose Docker Compose or a standalone container
Both deployment routes run the same application. Choose based on how you want to manage configuration: Compose is useful when you want the application and optional services described together; a standalone container uses a direct docker run command.
As an Amazon Associate I earn from qualifying purchases.
| Route | What the project documents | Considerations |
|---|---|---|
| Docker Compose | Clone the project repository and run docker compose up -d. |
The repository’s Compose file is a starting point. Review its current settings before using it on a public VPS. |
| Standalone Docker | Run the official image with a named volume mounted at /datastore and the service bound to 127.0.0.1:5000. |
You manage the container options directly. The loopback binding is local to the server, not a public internet listener. |
Follow the exact current commands and image details in the project README rather than relying on copied commands that may have changed. The README describes latest as the latest stable release and dev as the development branch; both are mutable tags, so check the repository before choosing an image.
Recommended Free Tools
Deploy with Compose
-
Prepare a VPS with Docker Engine and the Docker Compose plugin installed. Installation of Docker itself depends on the server’s operating system and provider; the changedetection.io project commands do not provision a VPS.
-
Clone the official repository onto the server and change into the cloned project directory.
-
Review the current Compose file. Confirm the image, datastore volume, port exposure, and any optional service or environment settings suit your deployment. Do not assume commented examples are active configuration.
-
Start the stack from that directory with
docker compose up -d, as directed by the project README.Free tools Windows power users keep installed
One-click scans. No signup required.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Check the container status and logs with Docker’s commands, then access the service using the port and network arrangement you configured.
Rank #3
HP MicroServer Gen10 Plus Mini Tower Server, Intel Xeon E-2224 3.4GHz, 32GB RAM, 16TB Storage, RAID, Windows Server 2019- HP MicroServer Gen10 Plus Tower Server for Business with Microsoft Windows Server 2019 OS!
- Intel Xeon E-2224 Quad-Core 3.4GHz 8MB CPU, Up To 4.6GHz Turbo
- 32GB (2 x 16GB) DDR4 PC4-21300 2666MHz Unbuffered Memory
- 16TB (4 x 4TB) 7.2K 6Gb/s SATA 3.5" HDDs in RAID
- Hard drives and memory upgrades included separately NOT installed, installation required.
Deploy with standalone Docker
The README’s standalone example runs the official dgtlmoon/changedetection.io image, maps the server’s loopback address on port 5000 to the container’s port 5000, mounts datastore-volume at /datastore, and configures automatic restart. Copy the current command from the README so its syntax stays aligned with the project’s current instructions.
The example’s 127.0.0.1:5000:5000 binding means the service is reachable on the VPS itself, not directly through its public IP. This is a sensible arrangement when a reverse proxy on the same server will provide the public entry point. If you choose another access arrangement, configure it deliberately rather than treating the container’s port mapping as a complete public deployment.
Rank #4
Keep the datastore persistent
changedetection.io stores its application data under /datastore. Both documented Docker approaches mount storage there; the standalone example uses the named volume datastore-volume, while the Compose configuration defines a named data volume. Keep that mount in place when replacing or updating the container, or application data may not survive container removal.
- Know where the volume lives: Docker manages named-volume storage on the host. Understand which volume your deployment uses before performing maintenance or moving to another VPS.
- Back up before upgrades or migration: Make a recoverable copy of the application data and know how you will restore it. A volume mount protects data from ordinary container replacement; it is not a backup.
Select the fetcher that matches the pages you monitor
The project supports a built-in HTTP fetcher and a Chrome-based browser fetcher. The HTTP option retrieves pages without browser execution; a browser-based fetcher can render pages whose content depends on JavaScript. The README describes the choice as per-site configurable: “Now with per-site configurable support for using a fast built in HTTP fetcher or use a Chrome based fetcher for monitoring of JavaScript websites!”
Best Value
Start with the built-in fetcher. If a page’s relevant content is missing because the site builds it in the browser, configure the optional Playwright browser service shown in the Compose file, then select the appropriate fetcher for that watch. Browser rendering adds a service to manage; the project documentation cited here does not establish a universal VPS CPU or memory requirement.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Configure public access, domain, and TLS separately
Docker starts the application; it does not by itself register a domain, issue a TLS certificate, or set up a firewall. Those steps depend on your VPS provider, DNS, chosen reverse proxy, and URL layout. A common design is to keep changedetection.io bound locally and have a reverse proxy accept public HTTPS traffic and forward requests to it.
The project’s Compose configuration documents BASE_URL as the installation URL added to notification alerts, and includes reverse-proxy-related configuration such as USE_X_SETTINGS. The project’s older reverse-proxy guidance describes using forwarded headers, including Host, X-Forwarded-Prefix, and X-Forwarded-Proto. Proxy details vary; use current project guidance and the documentation for your selected proxy, and set forwarded-header handling only when the proxy is configured to supply those headers.
Before exposing the service publicly, check that the firewall allows only the ports you intend to publish and that the proxy routes to the application correctly. The standalone README example’s loopback binding is not a substitute for those provider- and proxy-specific steps.
Set up change notifications
The project supports notifications through the Apprise library and lets you configure a notification URL for an individual watch. Choose the notification service and credentials you want to use, then add its URL in that watch’s notification settings. If your alerts should contain a public link to the installation, set BASE_URL to the externally reachable installation URL in the deployment configuration, following the current Compose file.
Quick Recap
Maintain the deployment
- Check the project repository for current Compose syntax, image tags, and configuration before updates; tags such as
latestcan point to different images over time. - Back up the datastore before upgrading or moving the service.
- After changing proxy, URL, or notification settings, verify access through the intended address and confirm that alert links use the expected installation URL.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




