Hi people!
I am in the process of setting up my selfhosted services and I would like to have a status monitor for them and for my websites. I really like Uptime Kuma, but right now I am not sure where should I host it. I do not want it on my VPS (for obvious reasons) and I do not have a spare old PC that I would run at home. At first I wanted to have it on a separate, very small VPS from my server provider but in different datacentre, but without a public IPv4 (only v6 are free) I’m not sure how I would expose it to the public (any tips?).
I would want to ask you for some recommendations for sites offering a hosting option for just this one thing, preferrably with a free tier(?). The docker container takes up only about 120-130MiB of RAM so even 1vCPU, 256MiB of RAM and a few hundred MiBs of storage would suffice. I don’t mind something with “sleep after a period of inactivity” type of thing, as I can just setup a cron job to ping the site. Or if you have some other way to have a FOSS status monitor hosted outside of my prod. server, I will appreciate every tip.
Thank you very much, hope you are having a good day :)
I run it on oracle cloud always free tier, it’s the only service I run there. I just let it oing my subdomains every 2 minutes and send me notifications on telegram. But I don’t think that’s a solution for you, since you don’t want to use a vps
I checked out the Free tier and I like it a lot, already created an instance and tested it a little, and I believe it’s more than enough for running Caddy and Uptime Kuma, so thank you very much for this :)
I don’t have a problem with using a VPS, I just don’t want to pay for another one in addition to my current one just for this one small thing. Sorry if my wording was confusing, English is not my primary language.
Thanks for the Oracle Cloud tip, I will definitely check it out. So far I tried fly.io but that has weird problems (I can only access the site from Safari on my mobile, from any other browser or device I can’t - even plain ping to the domain name returns service unavailable).
This isn’t exactly an answer to your question, but an alternative monitoring architecture that elides this problem entirely is to run netdata on each server you run.
- It appears to collect WAY more useful data than uptime Kuma, and requires basically no config. It also collects data on docker containers running on the server so you automatically get per-service metrics as well.
- Health probes for several protocols including ping and http can be custom-defined in config-files if you want that.
- There’s no cross server config or discovery required, it just collects data from the system it’s running on (though health probes can hit remote systems if you wish).
- If any individual or collection of services is down, I see it immediately in their metrics.
- If the server itself is down, it’s obvious and I don’t need a monitoring system to show a red streak for me to know. I’ve never wasted more than minute differentiating between a broken service and a broken server.
This approach needs no external monitoring hosts. It’s not as elegant as a remote monitoring host that shows everything from a third-party perspective, but that also has the benefit of not false-positiving because the monitoring host went down or lost its network path to the monitored host… Netdata can always see what’s happening because it’s right there when it happens.
I run netdata to collect usage statistics etc. directly on my VPS. I don’t need Uptime Kuma for that, because of course I know right away if my server is down or if it’s just a service. I am hosting some things also for my friends and family, and I’d like to have an option for them to check what is going on. Imagine they cannot access a service, they go to the status page and see that it is either a planned maintenance (updating, editing the configuration etc.) or there something else wrong, and they will see exactly when the service went back online. Without externally hosted status page like this, all they would get is an error. This way is much nicer for the non-technical audience.
Fair enough, sound like you have a well considered use case for Kuma specifically. Good luck, I don’t have much to offer on your OP question.
This is what I do. I ran into issues with monitoring too many services so I switched to a hybrid approach. I run an instance in my server that check the status of all my services and a separate instance in Fly.io that checks the status of my local UptimeKuma install
If you’re not familiar with it, check out lowendbox.com. You can very often find good deals there; not all of them are reliable in the long run, but I’ve found several hosts that have been just great.
Thanks, I’ve never heard about it, will definitely check it out!
Free tier compute engine on GCP might be suitable for your use case: https://cloud.google.com/free/docs/free-cloud-features#compute
Just remember that if you exceed the free tier limit, you’ll get charged based on resource usage. Make sure to setup a billing alert you won’t get surprise charge.
I have Kuma setup on one of my VPS’ and one endpoint I monitor is on healthchecks.io.
This way Kuma can monitor whatever I need and if HC doesn’t get a “ping” every 5 minutes I get an alert from them. They have a free teir for 20 checks I believe it is.
You can point a Cloudflare proxy at an IPv6 address, and you’ll then be able to access the website via IPv4.
I would say use an external service like https://uptimerobot.com/ to monitor your server.
You could still run uptimekuma on the server to keep track of individual service status.
I would like to use something open source. For now, I use the free tier of cronitor.io for my two websites and 3 cron jobs, but with that the free tier is all used up and I will have a bunch more services I want to monitor too.
Seconding this comment. https://healthchecks.io/ has a free tier for one test.