> Source: https://meetrix.io/blogs/changedetection-developer-guide/
> Markdown copy of that page. Cite the URL above, not this file.

Development

# changedetection.io - Developer Guide

[By Binuka Ranatunga](https://meetrix.io/blogs/authors/binuka-ranatunga/) • September 25, 2026 • 8 min read

Learn how to install and configure changedetection.io on AWS with our step-by-step deployment guide. This resource walks you through launching the Meetrix changedetection.io AMI with CloudFormation, pointing your domain at it, securing it with SSL, and keeping it running on your own AWS account. Whether you're tracking competitor pricing, product restocks, release notes or regulatory updates, this guide will help you run your own website change monitoring without a per-watch subscription.

[changedetection.io](https://changedetection.io/) is an open-source web page monitor that checks the pages you choose on a schedule and notifies you when their content changes. Self-hosting it keeps your watch list and history on your own infrastructure, and it sits comfortably alongside the rest of your [self-hosted software on AWS](https://meetrix.io/blogs/self-hosted-software-aws/). Let's get started deploying changedetection.io on AWS.

Prerequisites

Before you get started with the changedetection.io AMI, ensure you have the following prerequisites:

-   Basic knowledge of AWS services, including EC2 instances and CloudFormation.
-   An active AWS account with appropriate permissions.
-   An EC2 key pair in the region you plan to deploy to.
-   If you encounter a vCPU quota error when launching the stack, follow [https://meetrix.io/blogs/increase-aws-vcpu-quota/](https://meetrix.io/blogs/increase-aws-vcpu-quota/) to increase your vCPU limit.

## Launching the AMI

### Step 1: Find and Select the changedetection.io AMI

1.  Log in to your AWS Management Console.
2.  Navigate to '[changedetection.io](https://aws.amazon.com/marketplace/pp/prodview-w6fsrijkrzjd2)' in AWS Marketplace.

### Step 2: Initial Setup & Configuration

1.  Click the **"Continue to Subscribe"** button.
2.  After subscribing, accept the terms and click **"Accept Terms"**.
3.  Wait a few minutes until processing completes, then click **"Continue to Configuration"**.
4.  Select **"CloudFormation script to deploy changedetection.io"** as the fulfillment option and choose your region. Click **"Continue to Launch"**.
5.  From the "Choose Action" dropdown, select **"Launch CloudFormation"** and click **"Launch"**.

## Create CloudFormation Stack

### Step 1: Create a stack

1.  Ensure the **"Template is ready"** option is selected under "Prepare template".
2.  Click "Next".

### Step 2: Specify stack options

1.  Provide a unique **"Stack name"**.
2.  Enter the **"AdminEmail"** used for SSL certificate generation.
3.  Enter an **"AdminPassword"**. This is the password you will use to log in to changedetection.io.
4.  Enter a value for **"DeploymentName"**.
5.  Provide a public domain for **"DomainName"**. changedetection.io will automatically try to set up SSL if the domain is hosted on Route53. If unsuccessful, you must set up SSL manually.
6.  Choose an instance type **"InstanceType"** (Recommended: **t3a.small**).
7.  Select your preferred **"KeyName"**.
8.  Set **"SSHLocation"** to 0.0.0.0/0.
9.  Keep **"SubnetCidrBlock"** as 10.0.0.0/24.
10.  Keep **"VpcCidrBlock"** as 10.0.0.0/16.
11.  Click "Next".

### Step 3: Configure stack options

1.  Choose "Roll back all stack resources" and "Delete all newly created resources" under "Stack failure options".
2.  Click "Next".

### Step 4: Review

1.  Review and verify the details you've entered.

![CloudFormation review page listing the changedetection.io stack parameters, including AdminEmail, DomainName and InstanceType](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-01.png)

2.  Tick **"I acknowledge that AWS CloudFormation might create IAM resources with custom names"**.
3.  Click **"Submit"**.

![CloudFormation IAM capabilities notice with the acknowledgement checkbox ticked](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-02.png)

Afterward, you'll be directed to the CloudFormation stacks page. Please wait for 5-10 minutes until the stack has been successfully created.

![Outputs tab of the completed changedetection.io stack showing DashboardUrl, DashboardUrlIp and PublicIp](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-03.png)

## Update DNS

### Step 1: Copy IP Address

Copy the public IP labeled **"PublicIp"** in the **"Outputs"** tab.

![PublicIp value highlighted in the CloudFormation Outputs tab](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-04.png)

### Step 2: Update DNS

1.  Go to AWS Route 53 and navigate to "Hosted Zones".
2.  Click **Create record**.
3.  Add a **record name** and paste the copied **PublicIp** into the **value** textbox.
4.  Click "Create records".

![Route 53 quick create record form with an A record for the changedetection.io subdomain](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-05.png)

## Access changedetection.io

Access changedetection.io using the **"DashboardUrl"** or **"DashboardUrlIp"** provided in the Outputs tab. The IP address URL serves plain HTTP until SSL is set up.

Note

If you receive a "502 Bad Gateway" error, wait approximately **5 minutes** and refresh the page. The application may still be initializing.

![changedetection.io login page asking for the admin password](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-06.png)

changedetection.io uses a password-only login. Enter the **AdminPassword** you provided during stack creation and store it securely for future reference.

![changedetection.io dashboard with the Web page URL field and two watched pages grouped by tag](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-07.png)

To start monitoring a page, paste its address into the **Web page URL** field and click **Watch**. From **Settings** you can set the default check interval and add notification targets. changedetection.io sends alerts through [Apprise](https://github.com/caronc/apprise), so email, Slack, Discord, Telegram and webhooks all work. The [changedetection.io wiki](https://github.com/dgtlmoon/changedetection.io/wiki) covers filters, visual selectors and restock detection in depth.

## Generate SSL Manually

changedetection.io will automatically try to set up SSL when a Route53-hosted domain is provided. If it fails, follow these steps to generate SSL manually.

### Step 1: Copy IP Address

1.  Follow the **Update DNS** steps above, if not already done.
2.  Copy the Public IP indicated as **"PublicIp"** in the **"Outputs"** tab.

### Step 2: Log in to the server

1.  Open the terminal and go to the directory where your private key is located.
2.  Run the SSH command below.
3.  Type "yes" and press Enter to confirm.

```plaintext
ssh -i <your key name> ubuntu@<Public IP address>
```

![Terminal connecting to the changedetection.io server over SSH and accepting the host fingerprint](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-08.png)

### Step 3: Generate SSL

Run the following command and follow the prompts:

```plaintext
sudo /root/certificate_generate_standalone.sh
```

## Check Server Logs

### Step 1: Log in to the server

```plaintext
ssh -i <your key name> ubuntu@<Public IP address>
```

![SSH login to the changedetection.io instance from a local terminal](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-09.png)

### Step 2: Check the logs

changedetection.io runs in Docker on Ubuntu 26.04. List the running containers, then view the logs of the one you need:

```plaintext
sudo docker ps

sudo docker logs <container-id-prefix>
```

If you want dashboards and alerting for the server itself, not just the pages it watches, our [Grafana developer guide](https://meetrix.io/blogs/grafana-developer-guide/) shows how to run Grafana on AWS the same way.

## Shutting Down changedetection.io

1.  In CloudFormation, click the link labeled **"Instance"** in the **"Resources"** tab to open the EC2 instance.
2.  Stop the changedetection.io instance from the **Instance state** dropdown. You can restart it later as needed.

![CloudFormation Resources tab with the EC2 instance physical ID link](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-10.png) ![EC2 Instance state dropdown with the Stop instance option selected](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-11.png)

Pages are not checked while the instance is stopped. Checks resume when you start it again.

## Remove changedetection.io

Delete the CloudFormation stack from the AWS Management Console under "CloudFormation Stacks" by clicking "Delete".

## Upgrades

When a new version is available in AWS Marketplace, back up your watch list and data, remove the previous deployment, and relaunch with the new version. You can export your watches from the changedetection.io interface before removing the stack. The [changedetection.io GitHub repository](https://github.com/dgtlmoon/changedetection.io) lists what changed in each release.

## Troubleshoot

1.  If you face vCPU quota limits, request an increase: [How to increase AWS quota](https://meetrix.io/blogs/increase-aws-vcpu-quota/).

![CloudFormation event showing CREATE\_FAILED with a VcpuLimitExceeded error](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-12.png)

2.  If you face _insufficient capacity_ errors while creating the stack, try another region or time.

![CloudFormation event showing CREATE\_FAILED with an InsufficientInstanceCapacity error](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-13.png)

3.  If the dashboard is temporarily inaccessible, wait 5-10 minutes and retry.

![nginx 502 Bad Gateway page shown while changedetection.io is starting](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-14.png)

Check whether the instance storage is full. changedetection.io keeps a snapshot of every change it detects, so a long watch list with frequent checks grows over time.

-   Log into the server and run:

```plaintext
df -h
```

![Output of df -h showing root filesystem disk usage](https://meetrix.io/blog-images/paas-dev-guides/changedetection/changedetection-15.png)

-   If the root volume is between 90-100%, resize the EBS volume (per AWS docs), then reboot and restart the service.

## Conclusion

The Meetrix changedetection.io Deployment Guide helps you run your own website change monitoring on AWS. Whether you're a developer watching dependency changelogs, a marketer tracking competitor pages, or an operations team following vendor status pages, this guide gives you a secure, self-hosted setup you control. If you're comparing automation tools to act on those alerts, see our [Flowise vs Langflow vs n8n comparison](https://meetrix.io/blogs/flowise-vs-langflow-vs-n8n/).

## Technical Support

Reach out to Meetrix Support ([aws@meetrix.io](mailto:aws@meetrix.io)) for assistance with changedetection.io issues.

## Frequently Asked Questions

What is changedetection.io?

changedetection.io is an open-source tool that watches web pages for changes and alerts you when they happen. It can track whole pages or specific parts of a page, and is commonly used for price drops, restock alerts, changelogs, government notices and competitor pages.

What are the prerequisites for deploying changedetection.io on AWS?

You need basic knowledge of AWS services (EC2, CloudFormation), an active AWS account with appropriate permissions, an EC2 key pair, and enough vCPU quota to launch the chosen instance type.

Which instance type is recommended?

t3a.small is enough for a typical set of text-based watches. If you plan to monitor hundreds of pages or check them very frequently, choose a larger instance such as t3a.medium.

How do I log in to changedetection.io?

changedetection.io uses a password-only login. There is no username - enter the AdminPassword you set when creating the CloudFormation stack.

Can changedetection.io send alerts to Slack, email or Telegram?

Yes. changedetection.io uses the Apprise notification library, so you can send alerts to email, Slack, Discord, Telegram, Microsoft Teams, webhooks and many other services. Configure them under Settings, or per watch.

How do I handle upgrades?

When a new version is available in the AWS Marketplace, back up your data, remove the previous deployment, then relaunch with the new version.

How do I get technical support?

Reach out to Meetrix Support at [aws@meetrix.io](mailto:aws@meetrix.io) for assistance with changedetection.io issues.

## Ready to Deploy Your Own changedetection.io Instance?

Get started in minutes with our pre-configured AMI and monitor any website for changes from your own AWS account.

[Deploy changedetection.io from AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-w6fsrijkrzjd2)

Meetrix Store

Pre-configured open source images for AWS and Google Cloud.

[Browse products](https://meetrix.io/store/)

Meetrix Store New

One-click deploys on AWS and Google Cloud.

-    [Jitsi Meet Self-hosted video calls for 50 to 500 users](https://meetrix.io/store/jitsi-meet/)
-    [RustDesk Remote desktop AMI, a TeamViewer alternative](https://meetrix.io/store/rustdesk/)
-    [Coturn TURN/STUN for WebRTC, no per-minute relay fees](https://meetrix.io/store/coturn/)
-    [Plane Issues, cycles and roadmaps, a Jira alternative](https://meetrix.io/store/plane/)
-    [Mailcow Business email on your own domain](https://meetrix.io/store/mailcow/)
-    [Listmonk Newsletters with no per-subscriber fees](https://meetrix.io/store/listmonk/)

[Browse all products](https://meetrix.io/store/)
