How to Install changedetection.io on Fedora Server

This tutorial will guide you through the installation process of changedetection.io on Fedora Server.

Prerequisites

Before installing changedetection.io, ensure that your server meets the following requirements:

  1. Fedora Server latest version
  2. Python 3.6 or later
  3. Git
  4. Virtualenv
  5. PostgreSQL

Step 1 - Install Required Dependencies

To install all the necessary dependencies and libraries, execute the following command:

sudo dnf install -y git postgresql-server postgresql-devel postgresql-contrib nginx

Step 2 - Clone the changedetection.io Repository

Clone the changedetection.io repository from GitHub using the following command:

git clone https://github.com/dgtlmoon/changedetection.io.git

Step 3 - Create a Virtual Environment

Create a new virtual environment for changedetection.io using the following command:

virtualenv -p /usr/bin/python3 venv

Activate the virtual environment using the command:

source venv/bin/activate

Step 4 - Install Required Python Packages

Install the required python packages using the following command:

pip3 install -r requirements.txt

Step 5 - Configure PostgreSQL

Create a new PostgreSQL user and database using the following commands:

sudo -u postgres createuser <username>
sudo -u postgres createdb -O <username> <databasename>

Next, edit the config.py file in the cloned repository by changing the following fields:

POSTGRES_USER = '<username>'
POSTGRES_PASSWORD = '<password>'
POSTGRES_DB_NAME = '<databasename>'

where username, password, and databasename should correspond to the values you just created.

Step 6 - Initialize the Database

Run the following command to initialize the database:

python3 manage.py db init

Then run:

python3 manage.py db migrate

And finally:

python3 manage.py db upgrade

Step 7 - Configure Nginx

Create a new nginx server block for changedetection.io by creating a new file in the /etc/nginx/conf.d/ directory:

sudo nano /etc/nginx/conf.d/changedetection.io.conf

Add the following content to the file, replacing example.org with your own domain:

server {
    listen 80;
    server_name example.org;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Save and close the file.

Then, restart nginx using the following command:

sudo systemctl restart nginx

Step 8 - Start the Application

To start the changedetection.io application, run the following command:

python3 manage.py runserver

The application will now be accessible at http://localhost:5000/.

Congratulations! You have successfully installed changedetection.io on your Fedora Server.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!