DEV Community

Cover image for How to host Uptime Kuma
Jonas Scholz
Jonas Scholz Subscriber

Posted on

How to host Uptime Kuma

Uptime Kuma is a self-hosted monitoring tool that can be used to monitor the availability and performance of your website or application. It is open source and super easy to host and maintain, today I want to show you a basic setup on Sliplane!

After this guide, you will be able to:

  • Deploy Uptime Kuma on Sliplane
  • Create a basic uptime check
  • Create a public status page
  • Create discord notifications

lets go

Deploying Uptime Kuma

To deploy Uptime Kuma, you will need to create an account on Sliplane. Once you have an account, you can create a new server (starting at 7 EUR/month).

Then create a new service and select the option to deploy from Docker Registry.

Create Service

You should first select the Docker image to use. I recommend using a pinned version, the latest one at the time of writing is docker.io/louislam/uptime-kuma:1.23.13-alpine.

You don't have to change anything else, but I recommend setting the PORT to 3001 and the HOST to 0.0.0.0. You can also change the name to whatever you want. If available, you will get your-name.sliplane.app as a domain. Try to pick something that is not already taken:)

After clicking deploy, you will have to wait for the service to start. This will probably only take a few seconds.

You can monitor the progress in the logs or event tab:

Service Logs

Once your service is live, you can check it out on the domain that you find on the dashboard. You should see the Uptime Kuma setup screen:

Kuma Setup

Pick a good password for your instance, as you will need it to login in the future.

After logging in, you will see the main dashboard. It is empty at the moment, as we have not created any checks yet.

Empty Kuma Dashboard

Congrats, you have successfully deployed Uptime Kuma! 🎉

Creating a basic uptime check

Now that you have a basic instance running, lets's create our first uptime check.

If you want to create a new monitor you really only have to fill out the name and URL. Everything else has good defaults for basic website monitoring.

New Monitor

In this case I want to monitor the status of Sliplane.

After clicking save and waiting for some checks to run, you should see the results on the dashboard:

Kuma Dashboard

Awesome, we have our first check running! 🎉

Creating a public status page

Using the monitor we just created, we can create a public status page. The public status page is super useful to automatically update your users about the status of your website or application (duh, I know).

To create a public status page, you need to click on the top right "Status Pages" button.

Status Page

You should then see an empty list of status pages. Clicking on "New Status Page" will let you create a new status page.

New Status Page

Select a monitor, name, and url for your status page. You can also do more custom styling, but that's it:)

You now have a public status page:

Public Status Page

Congrats, you have successfully created a public status page! 🎉

Creating discord notifications

To create a discord notification, you need to go back to your monitor edit page and add a notification channel.

Discord Notifications

Here I am selecting a webhook notification to send to my discord server. You can get the webhook url from your discord channel settings. Simply select custom body and add the following:



{
  "content": "Uptime Kuma: {{msg}}"
}


Enter fullscreen mode Exit fullscreen mode

and the headers:



{
  "Content-Type": "application/json"
}


Enter fullscreen mode Exit fullscreen mode

You can now test the notification by clicking on the "Test" button.

You should see the message in your discord server:

Discord Message

Conclusion

You now have a basic setup for Uptime Kuma. You can now create more monitors, status pages, and notifications to fit your needs.

If you have any questions, please feel free to ask them here or on Twitter: Jonas Scholz

Cheers,
Jonas

Top comments (1)

Collapse
 
code42cate profile image
Jonas Scholz

Forgot to ask: is there any good alternative to uptime kuma, maybe something with a more modern UI?