Install Uptime Kuma on Linux

What is Uptime Kuma?

Uptime Kuma is a fancy self-hosted monitoring tool. -https://github.com/louislam/uptime-kuma

Install Uptime Kuma

  1. Log into the Linux device
  2. Run the following commands in a terminal window
    # update software repositories
    sudo apt update
    # install available software updates
    sudo apt upgrade -y
    # install prerequisites
    sudo apt install git curl -y
    # add nodejs software repository
    curl -sL https://deb.nodesource.com/setup_current.x | sudo bash -
    # install nodejs
    sudo apt install nodejs -y
    # clone from git
    git clone https://github.com/louislam/uptime-kuma.git ./uptime-kuma
    # change directory to ./uptime-kuma
    cd uptime-kuma
    # run setup
    npm run setup
    # run uptime kuma
    node server/server.js
  3. Open a web browser and navigate to http://DNSorIP:3001
  4. Select a language and create an administrator username and password > Click Create
  5. Welcome to Uptime Kuma

Run Uptime Kuma as a Service (Optional, but recommended)

  1. Press CTRL + C to kill the running Uptime Kuma process
  2. Continue with the following steps to run Uptime Kuma as a service
    # create nodejs user
    sudo useradd nodejs
    # change directory out of uptime-kuma
    cd ..
    # move uptime kuma to /opt
    sudo mv ~/uptime-kuma /opt
    # create service bash file
    sudo nano /opt/uptime-kuma/uptime-kuma.sh
  3. Paste the following configuration into uptime-kuma.sh

    #!/usr/bin/bash
    /usr/bin/node /opt/uptime-kuma/server/server.js

  4. Press CTRL+O, Enter, CTRL+X to write the changes
  5. Continue with the following commands
    # make uptime-kuma.sh executable
    sudo chmod +x /opt/uptime-kuma/uptime-kuma.sh
    # create uptime-kuma service file
    sudo nano /etc/systemd/system/uptime-kuma.service
  6. Paste the following configuration into uptime-kuma.service

    [Unit]
    Description=Uptime Kuma

    [Service]
    ExecStart=/opt/uptime-kuma/uptime-kuma.sh
    Restart=always
    User=nodejs
    Group=nodejs
    WorkingDirectory=/opt/uptime-kuma

    [Install]
    WantedBy=multi-user.target

  7. Press CTRL+O, Enter, CTRL+X to write the changes
  8. Continue with the following commands
    # set owner of /opt/uptime-kuma
    sudo chown nodejs:nodejs /opt/uptime-kuma -R
    # reload systemd services
    sudo systemctl daemon-reload
    # start uptime-kuma service on boot and now
    sudo systemctl enable uptime-kuma --now
  9. Refresh the open web browser to verify Uptime Kuma is accessible