How to Install ChangeDetection.io on Ubuntu 24.04
ChangeDetection is a powerful open-source web page monitoring tool that tracks changes on websites and notifies you when something changes. It’s perfect for monitoring price updates, policy changes, product availability, or any other webpage modification.
In this guide, you’ll learn how to install ChangeDetection on Ubuntu 24.04 using Python’s virtual environment for a clean and isolated setup.
Step 1 – Update Your System
Before starting, update your package list to ensure all repositories are current:
sudo apt update
Step 2 – Install Required Packages
ChangeDetection.io requires Python 3, Git, and several essential tools. Install them using:
sudo apt install -y python3-pip python3-venv python3-dev git ufw
Step 3 – Create a Dedicated User and Directories
For better security, run ChangeDetection.io under its own user account and directory.
sudo useradd -r -m -d /opt/changedetection -s /bin/bash changedetection
sudo mkdir -p /opt/changedetection/datastore
sudo chown -R changedetection:changedetection /opt/changedetection
Step 4 – Clone the ChangeDetection.io Repository
Switch to the new user and clone the official repository:
sudo -u changedetection bash -c '
cd /opt/changedetection && \
git clone --depth 1 https://github.com/dgtlmoon/changedetection.io.git .
'
This pulls the latest version of the application.
Step 5 – Set Up a Python Virtual Environment
Inside the installation directory, create and activate a virtual environment:
sudo -u changedetection bash -c '
cd /opt/changedetection && \
python3 -m venv venv
'
Next, install the project dependencies:
sudo -u changedetection bash -c '
cd /opt/changedetection && \
./venv/bin/pip install -r requirements.txt
'
Step 6 – Create a Systemd Service
To ensure ChangeDetection.io runs automatically and reliably, create a systemd service file:
sudo nano /etc/systemd/system/changedetection.service
Paste the following configuration:
[Unit]
Description=ChangeDetection.io web monitor
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/changedetection
ExecStart=/opt/changedetection/venv/bin/python /opt/changedetection/changedetection.py -d /opt/changedetection/datastore
Restart=always
RestartSec=5
User=changedetection
Group=changedetection
Environment=PORT=5000
Environment=HOST=0.0.0.0
[Install]
WantedBy=multi-user.target
Save and exit (CTRL+O
, ENTER
, CTRL+X
).
Step 7 – Enable and Start the Service
Reload systemd to apply changes and start the service:
sudo systemctl daemon-reload
sudo systemctl enable --now changedetection
Check the service status:
systemctl status changedetection
Step 8 – Allow the Port in Firewall
If the firewall (UFW) is active, allow port 5000 so you can access the web interface:
sudo ufw allow 5000/tcp
Step 9 – Access ChangeDetection
Open your web browser and go to:
http://<your-server-ip>:5000
Conclusion: You're Now a Web Monitoring Pro!
Congratulations! You have successfully deployed a powerful, private, and infinitely customizable web monitoring solution. By following these nine steps, you've moved beyond the limitations of commercial services and taken full control of your data and monitoring capabilities. You can now track prices, monitor stock, get news alerts, and so much more—all from a service that you own and manage. Happy monitoring!