Deploy Uptime Kuma
on Koyeb
Learn more about Koyeb
·
Explore the documentation
·
Discover our tutorials
Koyeb is a developer-friendly serverless platform to deploy apps globally. No-ops, servers, or infrastructure management.
This repository contains is designed to show how Uptime Kuma can be deployed to Koyeb. The image this repository builds bundles Uptime Kuma, a service monitoring tool, with Litestream, a tool for replicating SQLite databases to object storage buckets continuously.
You can follow the associated tutorial to learn more about the two components work and how to configure them effectively.
Follow the steps below to deploy and run the Uptime Kuma to your Koyeb account.
To use this repository, you need:
- A Koyeb account: to build the Docker image and run the Dockerized applications. If you don't already have an account, you can sign-up for free.
- A Backblaze account: Used to store Uptime Kuma's SQLite database files. From your Backblaze account, you need to create a bucket and an application key.
- (Optional) a Mailgun account: to send notification emails when monitoring detects a problem with a service. From your Mailgun account, you need to configure an authorized recipient email address.
The fastest way to deploy Uptime Kuma is to click the Deploy to Koyeb button below.
Clicking on this button brings you to the Koyeb App creation page with most of the settings pre-configured to launch this application. You will need to replace the values for the following variables:
LITESTREAM_ACCESS_KEY_ID
: Set to thekeyID
for the Backblaze API key you created.LITESTREAM_SECRET_ACCESS_KEY
: Set this to theapplicationKey
for the Backblaze API key you created.LITESTREAM_BUCKET
: Set to the bucket name you created on Backblaze.LITESTREAM_PATH
: Set to the directory name you want to use to store your Uptime Kuma database information. All objects created by Litestream will be placed within this directory within the bucket.LITESTREAM_URL
: Prependhttps://
to your Backblaze endpoint. For example, if your endpoint iss3.eu-central-003.backblazeb2.com
, enterhttps://s3.eu-central-003.backblazeb2.com
for this field.LITESTREAM_REGION
: Set this to the second component of your Backblaze endpoint. For example, if your endpoint iss3.eu-central-003.backblazeb2.com
, the region for this field would beeu-central-003
.
To modify this application example, you will need to fork this repository. Checkout the fork and deploy instructions.
If you want to customize and enhance this application, you need to fork this repository.
If you used the Deploy to Koyeb button, you can simply link your service to your forked repository to be able to push changes. Alternatively, you can manually create the application as described below.
On the Koyeb Control Panel, on the Overview tab, click the Create Web Service button to begin.
- Select GitHub as the deployment method.
- Choose the repository containing your application code.
- In the Builder section, select Dockerfile.
- In the Environment variables section, and click the Add aariable button to fill in the environment variables outlined above.
- Choose a name for your App and Service, for example
uptime-kuma-litestream
, and click Deploy.
A container image for Uptime Kuma will be built and a container will be deployed to Koyeb. You can follow the build process as the repository is cloned, built, and deployed. Once the deployment is complete, it will be accessible using the Koyeb subdomain for your service.
If you have any questions, ideas or suggestions regarding this application sample, feel free to open an issue or fork this repository and open a pull request.