Uptime Kuma Hosting on Hostim.dev
Uptime Kuma is an open-source, self-hosted uptime monitor. It checks websites, APIs, ports, DNS records and hosts, and alerts you through Telegram, Slack, Discord, email and many other services when something goes down. It also serves public status pages.
Run your monitor outside the servers it watches. If the monitor lives on the same machine as your app, it goes down together with the app and tells you nothing.
Self-host Uptime Kuma with Docker Compose (minimal)
Uptime Kuma is a single container. It keeps its SQLite database and uploaded files under /app/data.
services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "3001:3001"
Run docker compose up -d and open http://<your-server>:3001. For HTTPS you also need a reverse proxy and a certificate. More stacks are in our Docker Compose library.
Deploy Uptime Kuma on Hostim.dev (One-Click)
The hosted route: no VPS, no proxy, no certificates. The template runs the official image with a managed MySQL database, a persistent volume, a domain and HTTPS.
Guest project runs for 1 hour. Log in to save and extend to 5 days.
Why Host Uptime Kuma on Hostim.dev?
- One-click Docker deployment
- Managed MySQL database
- Persistent volume for
/app/data - Automatic HTTPS and domain
- Real-time logs and metrics
- Runs away from the servers you monitor
What's included
| Resource | Details |
|---|---|
| App | louislam/uptime-kuma:2 Docker image |
| Volume | /app/data (uploads and config) |
| Database | Managed MySQL (UPTIME_KUMA_DB_TYPE=mariadb) |
| Domain | Free *.hostim.dev subdomain |
| SSL | Let’s Encrypt (auto-enabled) |
| Port | 3001 |
Uptime Kuma officially supports SQLite and MariaDB, not MySQL. The template uses MySQL through Uptime Kuma's MariaDB driver. We tested setup, monitors and five restarts in a row with no problems, but upstream may not help with MySQL-specific bugs.
How to Deploy
- Go to your Hostim.dev dashboard.
- Click Create Project → Use a Template.
- Select Uptime Kuma.
- Choose a resource plan.
- Deploy.
- Open the app URL and create the admin account.
The template sets UPTIME_KUMA_DB_TYPE=mariadb and passes the MySQL connection details through the UPTIME_KUMA_DB_* variables, so Uptime Kuma skips the database choice screen and goes straight to the admin account form. Create the account right after the deploy. Until you do, anyone who opens the URL can create it.
FAQ
Where does Uptime Kuma store its data?
Monitors, heartbeat history, users and status pages are in the managed MySQL
database. Uploaded files and config are in /app/data, on a
persistent volume. Both survive restarts and redeploys.
Does Uptime Kuma need a separate database?
On Hostim.dev the template creates one for you: a managed MySQL database. Uptime Kuma 2 talks to it through its MariaDB driver. Upstream officially supports MariaDB, not MySQL, so we tested MySQL ourselves: the setup, monitors and five app restarts in a row, with no data loss. With Docker Compose you can keep the default embedded SQLite instead.
Can I run more than one replica?
No. Each replica runs every monitor, so you get duplicate checks and alerts. Keep the app at 1 replica.
Which monitor types work?
We tested HTTP(s), ping, TCP port and DNS monitors on Hostim.dev. All of them report "up" with no extra settings. The Docker container monitor needs a Docker host (socket or TCP). The template does not include one.
Does Uptime Kuma work on network storage?
Uptime Kuma does not support its SQLite database on NFS volumes. The template avoids this: the database runs in managed MySQL, and the volume holds only files.
How do I use my own domain?
Add the domain to the app in the Hostim.dev dashboard and point a DNS record at it. HTTPS is set up for it automatically. You can also put a status page on its own domain in the Uptime Kuma status page settings.
How do I back up Uptime Kuma?
Back up the MySQL database and the /app/data volume. Together
they hold the whole state.
How do I update Uptime Kuma?
The :2 tag follows the latest 2.x release. Docker:
docker compose pull && docker compose up -d. Hostim.dev:
redeploy the app.
Alternatives
- Gatus — config-file based health checks and status page
- Statping-ng — status page and monitoring server
- Healthchecks — cron job and heartbeat monitoring
Source + Docs
Looking for something else? Browse all templates →