As a person who likes to tinker, it is inevitable to set up different services in various places, whether it is for testing or making them publicly available for others to use. However, it is irresponsible to set up services and then neglect them. Therefore, it is necessary to have a monitoring service to keep track of your own services and prevent them from crashing without your knowledge. Initially, I used UptimeRobot, but this service had many issues, such as limited options in the free version and almost no customization for the monitoring page. So, I started looking for alternatives.
During my search, I tried using upptime, which fully utilizes GitHub-related services, and statusfy, which is no longer maintained. However, they both had their own problems. Finally, I discovered uptime-kuma on the status page of a certain project, and after trying it out for a while, I found it to be a project that suited my needs.
Since we've come this far, let me introduce these two tools.
uptime-kuma is an open-source and self-hosted website monitoring service. Similar to many other services, it provides various monitoring services such as HTTP, TCP, DNS, Ping, and SSL certificates.
Zeabur is a service deployment platform developed by a Chinese developer. Regardless of the programming language or development framework used, you can easily deploy services with just a few simple steps. Common services like Vaultwarden, Halo, Umami, and even WordPress can be deployed.
For me, I don't have a device at home that can stay powered on 24/7, and I don't have a suitable server either, so I chose serverless deployment.
Here, I use Zeabur, which provides seamless support for Uptime Kuma and charges based on usage. For small-scale usage, it is very cost-effective, and daily usage will not exceed the free limit of $5 per month.
You can click the button below to apply the template and deploy with just one click:
Alternatively, you can manually create a project, select "Marketplace" when creating a new service, and find "Uptime Kuma" to deploy directly.
After the deployment is complete, click "Domain" to bind a domain. You can use "Generate Domain" to use "*.zeabur.app" as a subdomain, or you can use your own domain.
If you want to use your own domain, you need to add a "CNAME" record to your domain registrar, pointing your desired domain to "zeabur.app", and then add the domain in Zeabur. Wait a few minutes for the changes to take effect.
Once the domain is successfully bound, simply click on the bound domain to access it. No additional configuration is required.
After successful deployment, open the domain you have bound, register an administrator account, and create monitoring items according to your needs. It supports HTTP, TCP, DNS, Ping, SSL certificates, and more.
Add Status Page#
Just like UptimeRobot, uptime kuma can also create a customizable status page to display the status of your services.
If you want to set the status page as the default page when accessing the domain, you can select the status page you just created in "Settings" > "Entrance Page", and finally click "Save". This way, visitors accessing your domain will directly see your status page.
Go to settings, then click "Notifications", and then click "Configure Notifications". Here, you can set up various notification methods, including email, Telegram, Ntfy, Server 酱，Matrix, and more than 50 other methods. Choose the configuration according to your preferences.
After setting up, remember to set the notification method in the existing monitoring items, otherwise, you will not receive notifications. (Alternatively, you can directly select "Enable by Default" and "Apply to All Monitoring Items" when adding a notification method to save time)
The built-in backup feature of uptime kuma has been neglected for a long time, which has caused many issues (such as incomplete data backup). This is also clearly stated in the backup options in the settings.
Therefore, if you want to backup, you can only rely on backup containers or similar operations.
As for Zeabur, the developer has stated that backup functionality will be added in the future.
Uptime Kuma, as an open-source and self-hosted monitoring solution, lowers the threshold for personal service management and frees more people from the limitations of UptimeRobot. I hope this project will continue to improve and that everyone will like it.
Zeabur, as a serverless deployment solution, allows more people to deploy their services in the cloud and frees developers from the dilemma of service deployment. Moreover, the community support is friendly. I hope it will continue to thrive.
Finally, thank you for reading. If you have any questions, feel free to ask in the comments/announcement section, and I will do my best to answer.