Uptime Kuma
applicationsUptime Kuma is an easy-to-use self-hosted monitoring tool.
README
Uptime Kuma
Author & Contributers
| Name | Github Profile | Buy me a Coffee |
|---|---|---|
| gOOvER | https://github.com/gOOvER |
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
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/apps:uptimekuma | ghcr.io/ptero-eggs/apps:uptimekuma |
Startup Command
if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == "1" ]]; then npm run setup; fi; /usr/local/bin/node /home/container/server/server.js --port={{SERVER_PORT}} Variables (3)
Git Repo Address
GitHub Repo to clone I.E. https://github.com/parkervcp/repo_name
- Environment:
GIT_ADDRESS- Default:
https://github.com/louislam/uptime-kuma- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string
JS file
The file that starts the app
- Environment:
JS_FILE- Default:
server/server.js- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Auto Update
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Installation Script
node:18-alpineash#!/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