Skip to content

Uptime Kuma

Uptime Kuma is an easy-to-use self-hosted monitoring tool.

egg-uptime-kuma.json

updated

Ports

Add an allocation on the node for each port.

  • default 3000

Install

Installer image
node:18-alpine
Install script
44 lines

Image

  • apps ghcr.io/ptero-eggs/apps:uptimekuma

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

3 variables

Startup command

if [[ -d .git ]] && [[ 1 == "1" ]]; then npm run setup; fi; /usr/local/bin/node /home/container/server/server.js --port=3000

Dotted values come from the server settings. These values are examples.

  • GitHub Repo to clone I.E. https://github.com/parkervcp/repo_name

    GIT_ADDRESSUsers cannot see

    nullable|string

  • The file that starts the app

    JS_FILEUsers cannot see

    required|string

  • AUTO_UPDATEUsers can edit

    required|boolean

Wings

Stop command
^^C
Running when the console shows
[SERVER] INFO: Listening on

Readme

Uptime Kuma

Author & Contributers

Name Github Profile Buy me a Coffee
gOOvER https://github.com/gOOvER ko-fi

Description

Uptime Kuma is an easy-to-use self-hosted monitoring tool Egg is based on parkers generic nodejs egg

Links

Github: https://github.com/louislam/uptime-kuma

Admin & login

After installation and successful start, browse to your : and setup the Admin.

Server Ports

Uptime Kuma requires 1 port. You can choose any port you want

Port default
default 3000

Cloudflared, Apprise & Chromium

The latest image provides support for Cloudflared and Apprise.

Cloudflared

With Cloudflared it is possible to create a proxy over Cloudflare without having to use an nginx proxy. More info here: https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy-with-Cloudflare-Tunnel

Apprise

Apprise provides notifications for all kinds of services. Uptime Kuma has a built-in support for Apprise. More info's here: https://github.com/caronc/apprise#supported-notifications

Monitor HTTP(s) - Browser Engine (Chromium)

The image supports the monitor "HTTP(s) - Browser Engine". To use this monitor, enter the following path in the settings under "General -> Chrome/Chromium Executable" (at the bottom):

/usr/bin/chromium-browser

Changes

  1. fix docker images path

    · Daniel Barton · 7d2b714

  2. Replace docker images

    · Daniel Barton · 3759ed6

  3. Add software

    · rowansc1 · 9b56a00

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 44 lines ash in node:18-alpine Show
#!/bin/ash
# Uptime Kuma App Installation Script
#
# Server Files: /mnt/server
apk update
apk add --no-cache git curl jq file unzip make gcc g++ python3 python3-dev libtool
apk add --no-cache git-lfs --repository=https://dl-cdn.alpinelinux.org/alpine/latest-stable/community

## npm update to latest
echo -e "Updating npm to latest....\n"
if [ -d "/mnt/server/node_modules" ]; then
    rm -fR /mnt/server/node_modules
    npm cache verify
fi
npm install -g npm@latest

## Uptime Kuma install & update
mkdir -p /mnt/server
cd /mnt/server
git config --global --add safe.directory /mnt/server

if [ -d .git ]; then
    echo -e "Updating Uptime Kuma....\n "
    npm run setup
else
    echo -e "Download and installing Uptime Kuma...\n"   
    git clone https://github.com/louislam/uptime-kuma.git .
    npm run setup
fi

## only create dir, when .git is present to prevent errors
if [ -d .git ]; then
    mkdir -p /mnt/server/data
fi

if [ ! -f "/mnt/server/data/kuma.db" ]; then
    cp /mnt/server/db/kuma.db /mnt/server/data/kuma.db
fi

## install end
echo -e "-----------------------------------------"
echo -e "Installation completed..."
echo -e "-----------------------------------------"
exit 0