Host Uptime Kuma on VeloxaHost
Uptime Kuma is a self-hosted monitoring tool that checks websites, TCP ports, DNS records and hosts on an interval and alerts you through services such as Slack, Telegram, Discord or email. Small teams and homelab owners run it as their own status dashboard instead of paying for a hosted uptime service.
The one-click install clones Uptime Kuma from GitHub onto Ubuntu 24.04, runs npm run setup with Node.js 20, and starts it as the uptime-kuma systemd service under its own user. The web interface is on port 3001.
Install it yourself
These steps use the official non-Docker install. The Docker image works too: Docker runs inside VeloxaHost servers.
- Install Node.js 22 from NodeSource, and Git. Uptime Kuma needs Node.js 20.4 or newer.
curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt install -y nodejs git - Create a user and clone the repository as that user.
useradd -m -s /bin/bash uptimekuma sudo -u uptimekuma git clone https://github.com/louislam/uptime-kuma.git /home/uptimekuma/uptime-kuma - Run the setup script, which installs dependencies and downloads the built front end.
cd /home/uptimekuma/uptime-kuma && sudo -u uptimekuma npm run setup - Create
/etc/systemd/system/uptime-kuma.service.[Unit] Description=Uptime Kuma After=network.target [Service] User=uptimekuma WorkingDirectory=/home/uptimekuma/uptime-kuma ExecStart=/usr/bin/node server/server.js Restart=always [Install] WantedBy=multi-user.target - Start it.
systemctl daemon-reload && systemctl enable --now uptime-kuma - For HTTPS, point a DNS record at an address where ports 80 and 443 reach the server (a dedicated IPv4 address, a paid add-on with limited availability; IPv6 is not available in US East yet), then proxy with Caddy.
apt install -y caddy printf 'status.example.com {\n reverse_proxy 127.0.0.1:3001\n}\n' > /etc/caddy/Caddyfile systemctl reload caddy - Open the site and create the admin account on the first screen.
FAQ
What license is Uptime Kuma under?
Uptime Kuma is released under the MIT license. There is no paid edition; every feature is in the free, self-hosted project.
Where does Uptime Kuma store its data?
In the data folder of the install directory, which on the one-click install is /home/uptimekuma/uptime-kuma/data. It holds the database with your monitors and their history. Back it up, or include the server in a VeloxaHost backup schedule.
How do I update a non-Docker install?
As the uptimekuma user, in the install directory, fetch the new release and rebuild, then restart the service. Use the latest tag from the project's releases page.
git fetch --all --tags && git checkout <release-tag> --force
npm install --omit dev --no-audit && npm run download-dist
Can Uptime Kuma send email alerts from VeloxaHost?
Yes, through an email provider's submission port. VeloxaHost blocks outbound TCP port 25 from servers by default, so configure the SMTP notification with port 587 or 465 and your provider's credentials.
How do I keep history if something goes wrong?
Turn on automatic snapshots or backups for the server in the console. Snapshots can run hourly, every 6 or 12 hours, daily or weekly and be kept for 1 to 30 days; scheduled backups keep the last 1 to 10.
Which VeloxaHost size fits Uptime Kuma?
A Veloxa Nano covers the recommended size: 1 vCPU, 1 GB RAM and 25 GB of disk for $5 a month, billed at $0.01 an hour and capped at the monthly price. Hundreds of monitors with short intervals use more CPU, and memory can be raised on a running container from the console.