An agency that maintains several clients' websites will, sooner or later, find out about an outage from the client themselves, usually at the worst possible moment. UptimeRobot Pro or similar SaaS services solve this problem but charge a monthly subscription for something that is, in essence, a simple task: cyclically querying an address and sending a notification when it stops responding. Uptime Kuma does exactly the same thing as open-source, and you host it on your own Box without limits on the number of monitored addresses and without a monthly bill. Below are step-by-step instructions on how to set up Uptime Kuma on Saplo.
Why Uptime Kuma Instead of UptimeRobot Pro
Paid availability monitoring makes sense as long as the number of monitored addresses is small. The problem begins when an agency grows:
- price increases with the number of monitors and checking frequency - UptimeRobot Pro costs about $30 per month for a package of monitors checked every minute; the more client sites, the higher the plan.
- downtime data is stored with an external provider - availability history, charts, and incident logs are resources built over years, which, when changing providers, must be left behind or exported manually.
Uptime Kuma has none of these limitations because it runs as a single Docker container on your own Box: the number of monitors is limited only by server resources, not by a price list, and the data remains yours.
Requirements
To set up Uptime Kuma on Saplo, you need:
- A Box with Docker running (the engine automatically enables it upon installation from the App catalog; container nesting, which Saplo has by default, is required),
- A minimum of 512 MB RAM free on the Box and 2 GB of disk space, meaning a Box M plan will suffice (Box M costs $69 per year),
- A domain or subdomain (included in the price of each plan)
*.saploapp.plfor your Uptime Kuma panel, - You DO NOT need a separate database; Uptime Kuma stores everything in its own SQLite database within the Docker volume.
Step-by-step installation
- In your Saplo panel, go to App catalog and select Uptime Kuma ("Data" category).
- Select the Box with at least 512 MB of free RAM where Uptime Kuma will be installed, and the domain or subdomain where the panel will operate.
- Confirm the installation. The engine deploys a container from the official
louislam/uptime-kuma:2image, exposes it only on the Box's loopback, and connects it to nginx, which serves it under the specified domain with a free SSL. Only port 443 is exposed externally, not the raw container port 3001. - After
docker compose up, the engine additionally checks if the panel actually responds via HTTP, because the "container running" status itself doesn't mean that the process inside didn't fall into a restart loop a moment later. - Once the installation is complete, the Uptime Kuma panel is available under the specified domain.
First-time setup
Uptime Kuma doesn't automatically create an administrator account. Instead, it displays a wizard when you first access it.
- Go to your domain address, for example,
status.saploapp.pl, and use the wizard to create an administrator account (username and password, no email with an activation link). - In the Monitors tab, add your first monitor: choose the type (HTTP(s), TCP Port, DNS, Ping, and several others), provide the address, and set the check frequency, which defaults to every 60 seconds.
- In the Notifications tab, configure a notification channel, either email via your own SMTP server or a webhook to Discord, Telegram, Slack, or one of several dozen other integrations, and link it to the monitor.
- If you want to show your client the status of their services without logging into the panel, go to the Status Pages tab to create a public status page, add selected monitors to it, and link it to a subdomain, for example,
status.yourdomain.com. - Uptime Kuma version 2 changed the default number of retries before reporting an outage from 1 to 0. So, with a new installation, the monitor reports downtime immediately after the first failed check. It's worth keeping this in mind for monitors sensitive to temporary network glitches.
Uptime Kuma on Saplo vs. UptimeRobot Pro
| UptimeRobot Pro | Uptime Kuma on Saplo | |
|---|---|---|
| Pricing model | about $30/month, increases with the number of monitors | fixed Box cost, unlimited monitors |
| Check frequency | plan-dependent | any, limited by Box resources |
| Notifications | email, SMS, selected integrations depending on the plan | email, Discord, Telegram, Slack, and dozens of others, all included |
| Public status page | available with higher-tier plans | built-in, no extra charge |
| Where is the data | UptimeRobot infrastructure | Your Box |
FAQ
Does Uptime Kuma need a separate database? No, the application stores all configuration and monitor history in its own SQLite database within the Docker volume. The Saplo engine does not provision any additional database containers for it.
How many monitors can I add? As many as your Box resources allow. The Saplo price list does not limit the number of monitors, unlike UptimeRobot plans.
Can Uptime Kuma monitor things other than websites? Yes, in addition to HTTP(s), it supports checking TCP ports, DNS queries, ping, and several other types, so it also monitors databases and services without a web interface.
Do I need to install Docker myself before deploying Uptime Kuma? No, the Saplo engine automatically installs Docker CE with the first installation of any containerized application on a given Box.
Is it worth changing the default number of retries in Uptime Kuma 2? It's worth checking this for monitors sensitive to temporary connection glitches, because the default value in version 2 reports a failure after the first unsuccessful check, instead of waiting for a second attempt as in version 1.
If you monitor several client websites at once and want to be the first to know about an outage, not the last, write to us. We'll help you choose the right Box for the scale of your monitoring.
- #Agencies
- #DevOps
- #Monitoring
- #Guide
- #Uptime Kuma
