# 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