How to Install Changedetection.io on Your Webdock Ubuntu Server
Last updated: April 21st 2025
Introduction
A few months ago, I missed a limited-time discount on a pair of sneakers I have been keeping my eyes on for 3 months because I didn't notice when they went on sale. That's when I knew I needed a better system than "check it when I remember."
If you're tired of manually checking websites for updates or are forgetful (like I am), having a tool that does it for you and notifies you when needed is great.
And that’s where ChangeDetection.io steps in. And in this guide, I will go through on how to install ChangeDetection.io on your Webdock server.
What is ChangeDetection.io?
ChangeDetection.io is a web application that monitors websites for changes. It sends you alerts when something on a page changes. Super helpful if you're:
- Tracking price drops on products
- Following updates to the documentation
- Monitoring job postings
- Keeping an eye on competitors' websites
- Watching for new content on blogs without RSS feeds
On their website, they advertise a hosted ChangeDetection.io version, which starts at $8.99 a month. However, the software itself is completely free and open source. Apart from the convenience, the hosted version of ChangeDetection.io doesn’t seem to have any practical benefit.
So, in my opinion, it is safe to say that regardless of what your use case is, self-hosting ChangeDetection.io is very cost-effective.
The self-hosted version runs in Docker, which makes installation relatively straightforward on most systems. It's lightweight and won't bog down your server.
A general recommendation to run your own ChangeDetection.io instance is around 2 vCPU, 2 GB RAM, and 15 GB Storage. Using a leading VPS provider to get similar specs, you would pay around $12-15/mo.
Compare that to Webdock, where you can get the specs mentioned for around €/$2.95, and for a limited time, you can get it for as low as €/$1.48 for the first three months. How is this saving possible? Unlike most VPS providers, you can build your own VPS on Webdock and pay only for what you need.
Of course, these specs are for simplistic needs. But, no matter how big or small your operation is, Webdock provides you excellent price-to-hardware-to-performance ratio — when you are trying to save money, you don’t need to spend more trying to save money.
Step-by-Step Installation
Now that all is said, let's get everything done. The following is a step-by-step guide to installing ChangeDetection.io. If you are a Webdock user, ensure you choose a Clean OS to avoid conflicts.
Installing Docker And Other Dependencies
As usual, start by updating the current packages. Open your terminal and log in as a sudo user:
$ sudo su
And run:
# sudo apt update && sudo apt upgrade -y
This might take a few minutes, depending on how recently you've updated your system.
ChangeDetection.io runs in Docker containers, so we need Docker installed first. If you already have Docker set up, you can skip to Step 3.
First, install the required packages to allow apt to use repositories over HTTPS:
# sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y
Next, add Docker's official GPG key:
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Set up the stable repository:
# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update apt again with the new repository and install Docker:
# sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y
After installation completes, check if Docker is running:
# sudo systemctl status docker
You should see output indicating that the service is active (running). If it's not running for some reason, start it with:
# sudo systemctl start docker
And enable it to start at boot:
# sudo systemctl enable docker
ChangeDetection's setup uses Docker Compose to manage its containers, so we need that too:
# sudo apt install docker-compose-plugin -y
Verify it installed correctly:
# docker compose version
You should see version information such as:
Setting Up Requisites For ChangeDetection.io
Before installing ChangeDetection.io, let's create a directory to store ChangeDetection's configuration and data:
# mkdir -p ~/changedetection
# cd ~/changedetection
Then, we'll create a Docker Compose file to define our ChangeDetection setup. Using your favorite text editor (I'll use nano here), create a new file:
# nano docker-compose.yml
Copy and paste the following content:
version: '3.8' services: changedetection: image: dgtlmoon/changedetection.io container_name: changedetection hostname: changedetection volumes: - ./datastore:/datastore ports: - 5000:5000 restart: unless-stopped security_opt: - no-new-privileges:true environment: - PUID=1000 - PGID=1000 - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/?stealth=1&--disable-web-security=true depends_on: - playwright-chrome playwright-chrome: image: browserless/chrome container_name: playwright-chrome hostname: playwright-chrome restart: unless-stopped security_opt: - no-new-privileges:true environment: - SCREEN_WIDTH=1920 - SCREEN_HEIGHT=1080 - SCREEN_DEPTH=16 - ENABLE_DEBUGGER=false - PREBOOT_CHROME=true - CONNECTION_TIMEOUT=300000 - MAX_CONCURRENT_SESSIONS=10 - CHROME_REFRESH_TIME=600000 - DEFAULT_BLOCK_ADS=true - DEFAULT_STEALTH=true
Save and exit.
Here, we're setting up two containers – one for ChangeDetection itself and another for a headless Chrome browser that helps ChangeDetection handle JavaScript-heavy websites. The setup includes volume mapping to store your data persistently.
Starting ChangeDetection.io
Now let's start the services:
# docker compose up -d
This command downloads the necessary Docker images and starts the containers in detached mode (running in the background). The first run will take a bit longer since it's downloading the images.
You can check that the containers are running:
# docker ps
You should see both containers listed.
ChangeDetection is now running and accessible at:
http://your-server-ip:5000
When you first open the interface, you'll see a clean, simple dashboard ready for you to add your first website to monitor.
Basic Setup
The interface is pretty straightforward:
- In the "URL" field, paste the URL of a website you want to monitor
- Give it a title (optional, but helpful)
- Select your mode
- Click "Watch"
ChangeDetection will immediately make its first check of the website. Then it'll regularly check for changes based on the settings you configure.
You probably want to know when changes happen without checking manually. Click on the settings option in the top-right corner of the interface.
You can set up various notification methods:
- Webhook
- Telegram
- Discord
- Custom scripts
Emails are a reliable notification channel. With other VPS providers, you are left to narrow down an email provider and pay for it additionally. But if you select a Webdock server plan priced above €/$5.99, you gain full access to the Postmark add-on.
Postmark is a trusted transactional email service known for its high delivery rates. You can integrate Postmark into your project to send unlimited transactional emails, with Webdock covering all related costs.
Additionally, these plans come with generous backup options, which can save your organization money. Any server at this level also benefits from BotGuard’s bot protection and access to ImprovMX’s premium email forwarding plan. Separately, these services often cost over $30 per month, but with Webdock, they come free.
To set up your email sender, start by going to your server’s control panel. Look for the “Manage emails” section and submit a request to Webdock for permission to enable this feature. This is to prevent abuse of this awesome service.
After you receive approval, click the Connect button.
To stop Changedetection from running, just run:
# docker compose down
Advanced Setup: Setting Up A Reverse Proxy
Setting up a reverse proxy basically means to access your ChangeDetection.io instance using a domain and, better than that, using SSL to encrypt the connection. This isn’t a mandatory step, and not every one would need a domain to access ChangeDetection.io, but it can have several benefits. Some benefits I can think on the top of my head:
- Instead of remembering your server's IP address and port number (like 123.45.67.89:5000), a reverse proxy lets you access your monitoring dashboard through a proper domain name (like monitor.yourdomain.com).
- A reverse proxy like NGINX you fine-grained control over who can access your ChangeDetection instance. You can implement IP restrictions, basic authentication, or even integrate with advanced authentication systems to protect your monitoring setup from unauthorized access.
- If your monitoring needs to grow, a reverse proxy can distribute traffic across multiple ChangeDetection instances, providing better performance and redundancy.
- By default, ChangeDetection.io doesn't include SSL encryption. This means all traffic between your browser and the application travels unencrypted across the internet. Anyone monitoring network traffic could potentially see what websites you're monitoring or even intercept your login credentials. A reverse proxy with SSL encryption solves this problem by encrypting all data in transit.
- Most likely, your server hosts more than just ChangeDetection.io. A reverse proxy lets you run multiple web applications (like a personal blog, email server, or other tools) on the same server, directing traffic to the right application based on the domain or subdomain.
Again, none of these are must haves, but quality of life improvements. But, depending on your use case, a reverse proxy could be a boon.
My go-to choice of a web server is NGINX, because, hey, it’s not 2009 to use Apache. So, start by installing NGINX:
# sudo apt update && sudo apt install nginx
Before we move on, ensure your server’s IP is pointed to by your domain using A/CNAME record.
Then, create a new NGINX server block configuration:
# sudo nano /etc/nginx/sites-available/changedetection
Add the following configuration, replacing monitor.yourdomain.com with your actual domain:
server { listen 80; server_name monitor.yourdomain.com; # We'll start with HTTP and let Certbot modify this later location / { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # WebSocket support (needed for some ChangeDetection features) proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Timeouts for long-running connections proxy_read_timeout 86400; proxy_send_timeout 86400; } }
Enable the configuration by creating a symbolic link:
$ sudo ln -s /etc/nginx/sites-available/changedetection /etc/nginx/sites-enabled/
Test the configuration and restart NGINX:
$ sudo nginx -t
And if you don’t see any errors:
$ sudo systemctl restart nginx
There are many ways to secure your ChangeDetection setup with SSL, but my preferred way is to use Let’s Encrypt to get an SSL certificate because of how easy it is to use and secondly, it's free and has no attached fills.
You can use Certbot to get free certificates from Let’s Encrypt. Start by installing snapd, which Certbot needs. Run this command:
$ sudo apt update && sudo apt install snapd -y
Next, install Certbot itself:
$ sudo snap install --classic certbot
After that, use Certbot to set up SSL automatically for Nginx by running:
$ sudo certbot --nginx -d your_domain.com
Keep in mind, your domain must point to your server’s IP address; otherwise, the process won’t work. Follow the instructions Certbot gives you. This may include entering your email address to proceed.
Certbot will also set up a scheduled task (a cron job) to renew your certificates automatically. Still, it’s wise to test this by running:
$ sudo certbot renew --dry-run
This simulates the renewal process and confirms everything is working as expected. Once done, your ChangeDetection application will be accessible through your chosen domain, encrypted and protected by SSL.
Setting up a reverse proxy with SSL might seem like extra work, but it could be an important step for any production deployment of ChangeDetection.io. The security benefits alone make it worthwhile, not to mention the improved usability of accessing your monitoring dashboard through a proper domain name.
Final Thoughts
ChangeDetection.io can save you a lot of time by automatically tracking website updates instead of checking manually. Its Docker-based setup is straightforward on Ubuntu, and the tool’s flexibility lets you keep an eye on nearly any web content.
The project receives regular updates, so it’s a good idea to peek at the GitHub repository now and then for new features.
Keep in mind that monitoring should be done thoughtfully. Avoid checking sites too often, and always respect their robots.txt rules and terms of service. If you hit any bumps, the GitHub issues page is a solid resource for troubleshooting, or you can open a new issue to get help.
Meet Aayush, a WordPress website designer with almost a decade of experience who crafts visually appealing websites and has a knack for writing engaging technology blogs. In his spare time, he enjoys illuminating the surrounding minds.
Related articles
-
How to install OpenLiteSpeed on Webdock
In this article we show you how you can install the OpenLiteSpeed web server on Ubuntu Jammy.
Last updated: March 29th 2023
-
How to Deploy your First Node.js Application on your Ubuntu Web Server
Deploy a Node.js application on your Ubuntu server and how to issue SSL certificates for your Node application.
Last updated: July 19th 2023
-
How to set up WireGuard on your Webdock Server
This article details how you can quickly and easily install WireGuard on your Webdock Server.
Last updated: February 17th 2025
-
How to set up OpenVPN on your Webdock Server
This article details how you can quickly and easily set up a VPN on your Webdock server.
Last updated: February 17th 2025
-
How to Install and configure aaPanel on Ubuntu
Install aaPanel on Ubuntu as well as building a LEMP stack, pointing your domain to your server and setting SSL certificates with Let's Encrypt.
Last updated: February 24th 2025
-
How to install azuracast on Webdock
This guide shows you how to work around certain issues when installing azuracast on Webdock.
Last updated: February 19th 2025
-
How to set up Runcloud on Webdock
This article details the steps you need to go through in order to install Runcloud on a Webdock server.
Last updated: July 29th 2024
-
How to set up cPanel on Webdock
This article details the steps you need to go through in order to install cPanel on a Webdock server.
Last updated: February 25th 2025
-
How to set up Gridpane on Webdock
This article details the steps you need to go through in order to install Gridpane on a Webdock server.
Last updated: February 25th 2025
-
How to set up Ploi on Webdock
This article details the steps you need to go through in order to install Ploi on a Webdock server.
Last updated: February 25th 2025
-
How to set up Laravel Forge on Webdock
This article details the steps you need to go through in order to install Laravel Forge on a Webdock server.
Last updated: February 25th 2025
-
How to set up Plesk on Webdock
This article details the steps you need to go through in order to install Plesk on a Webdock server.
Last updated: February 26th 2025
-
How to set up Cyberpanel on Webdock
This article details the steps you need to go through in order to install Cyberpanel on a Webdock server.
Last updated: February 22nd 2025
-
How to set up SpinupWP on Webdock
This article details the steps you need to go through in order to installSpinupWP on a Webdock server.
Last updated: March 8th 2025
-
How to set up DirectAdmin on Webdock
This article details the steps you need to go through in order to install DirectAdmin on a Webdock server.
Last updated: February 19th 2025
-
How to set up Hestia on Webdock
This article details the steps you need to go through in order to install Hestia on a Webdock server.
Last updated: February 25th 2025
-
How to set up Virtualmin on Webdock
This article details the steps you need to go through in order to install Virtualmin on a Webdock server.
Last updated: February 25th 2025
-
How to install and create pipelines in Jenkins
This guide describes the step-by-step procedure of installing Jenkins and creating pipelines in Jenkins.
Last updated: February 20th 2025
-
Basic WordPress site setup with aaPanel
In this guide, we will install and setup a basic WordPress site with aaPanel.
Last updated: January 23rd 2023
-
How to use Nginx as reverse proxy and secure connections with SSL certificates
Using Nginx to proxy pass your site with SSL security.
Last updated: February 19th 2025
-
Setting up monitoring with Netdata on your Webdock server
Setting up monitoring on your server to receive alerts and to know real-time resource consumption on your server.
Last updated: February 21st 2025
-
How to Setup Python Web Application With Flask Gunicorn and Nginx
A simple Python Flask web app hosting with Gunicorn and Nginx
Last updated: July 19th 2023
-
How to Daemonize an Application with Systemd
Using systemd to autostart your application on system startup.
Last updated: July 19th 2023
-
Set-up New Relic Monitoring on Your Webdock Server
This guide provides step-by-step instructions to install New Relic to monitor your VPS.
Last updated: February 21st 2025
-
Getting Started with Ruby on Rails on Webdock
In this guide, we will show you how to get started with Ruby on Rails on your Webdock server
Last updated: February 21st 2025
-
How to Install VaultWarden on Your Webdock Server
This guide provided step-by-step instructions to Vaultwarden, an open-source Password Manager on your Webdock Server.
Last updated: July 19th 2023
-
How to Install the Latest Version of HTOP on Ubuntu Server
Instructions to install latest htop package on your Ubuntu server
Last updated: July 29th 2024
-
How to Install ImageMagick 7 on Ubuntu LEMP/LAMP stacks
Simple instructions to install ImageMagick 7 along with the PHP extension
Last updated: November 1st 2023
-
A Quick Guide to Installing Rust on Ubuntu
Instructions to install Rust
Last updated: December 18th 2023
-
How To Install Proxmox on Your Webdock Server
This article provides instructions on how to install Proxmox on your Webdock server
Last updated: July 29th 2024
-
How To Run Nextcloud on Your Webdock Ubuntu Server
Instructions to Install Nextcloud on your server with Docker
Last updated: February 13th 2024
-
The Ultimate Guide to Setting Up Mastodon server
A detailed guide with instructions to set up Mastodon on your Webdock server
Last updated: February 12th 2025
-
A Guide To Setting Up Mindustry Game Server on Ubuntu
Step-by-step instructions to set up your own Mindustry server
Last updated: February 12th 2025
-
A Guide to Installing ERPNext on Your Webdock Server
Step-by-step instructions to install ERPNext - a resource planning software - on your server
Last updated: February 21st 2025
-
A Beginner's Guide to Installing Apache Kafka on Ubuntu
Detailed instructions to get Kakfa running on Ubuntu!
Last updated: February 25th 2025
-
A Quick Guide To Installing Rocket Chat on Ubuntu
Instructions to install Rocket Chat on your Ubuntu server
Last updated: February 12th 2025
-
How to Install Ghost CMS on a Webdock Server
Easily install Ghost CMS on your Webdock server with these instructions!
Last updated: February 24th 2025
-
How to Install cPanel on a Webdock Ubuntu Server
Instructions for setting up cPanel on an Ubuntu server
Last updated: September 23rd 2024
-
How to Install VSCode Server on Your Webdock VPS
A short article on how to install vscode server on your Webdock server to do development right from the browser!
Last updated: January 9th 2025
-
How to Install and Configure Litespeed Cache on WordPress
This guide shows how to configure LightSpeed Cache on your Wordpress site
Last updated: January 13th 2025
-
How to Create a Child Nameserver in WHM
This guides outlines how you can create a child nameserver in WHM
Last updated: January 22nd 2025
-
Upgrading or Downgrading NodeJS Versions with NVM
A short article with instructions to change NodeJS version with Node Version Manager (NVM)
Last updated: February 26th 2025
-
How to Host Pocketbase on Your Webdock Server
A mini guide on hosting Pocketbase to help backend developers with their serverless needs.
Last updated: January 29th 2025
-
How to Install Java on Your Webdock Ubuntu Server
Short article with instructions to install Java on your Ubuntu server
Last updated: February 23rd 2025
-
How To Install Uptime Kuma on Your Webdock Server
Instructions to install UptimeKuma - a fancy selfhosted monitoring tool
Last updated: February 27th 2025
-
Setting Up Opensource VPN (OpenVPN)
Simple instructions for setting up OpenVPN on a Webdock server
Last updated: March 25th 2025