Pushing backup status to Uptime Kuma?

I am wondering if anyone is successfully pushing backup status updates from Duplicacy to Uptime Kuma?

I came across two posts on the forum which mention Uptime Kuma, but neither reference a specific setup.

In Uptime Kuma, I have set up a “Push” type monitor, which proves a URL endpoint for me to curl in order to update status.

From my Duplicacy host, as well as the docker container Duplicacy runs in, I am able to successfully, manually curl the Uptime Kuma Push URL, both through my reverse proxy setup (Traefik + Authelia), and directly to the host IP + port of Uptime Kuma (with the port exposed in Docker), which updates the monitor.

However, when I put either of those URLs in the “send report to” field in Duplicacy and complete a backup, my Duplicacy logs show error: response status: 404 Not Found

I’m wondering if anyone else has encountered this, or has a working Duplicacy + Uptime Kuma config they can share. Any help would be much appreciated!

In case it is useful, this is the URL format that Uptime Kuma provides for it’s Push monitor:
https://status.example.com/api/push/62dwf3DTao?status=up&msg=OK&ping=

2 Likes

I tried to configure the URL from the push monitor in Duplicacy, much as you have tried. And came to the same conclusion. A bit of tinkering and I made the discovery that Duplicacy sends the status message request on HTTP POST and not GET, which is what Kuma expects. Thus, this option does not work.

So this is what I did.

I configured a monitor of type HTTP(S) Json Query.

http://duplicacy_host:8888/get_backup_status

I you curl that URL, you’ll discover that it sends a weir Json object. After more tinkering I was successful writing a Json Query to interpret this. "error" in backup_status[*].**.status_code
This will look for the word “error” from the resulting query. If anyone of those exists the request will return ‘true’. Which then made me set the Expected Value field to ‘false’.

After some testing this showed to work quite nicely.

There is also a (at least one) way to look for both “error” and “warning”, by having this query:

"error" in backup_status[*].**.status_code or "warning" in backup_status[*].**.status_code
6 Likes

This is just what I was looking for, thanks.

Seems to be working well on my Unraid system.

Is there a way to test that it works as expected on error or warning?

Thank you so much for posting this. It helped me get started.

I have configured an administration password in duplicacy web. Therefore, when trying to connect to the URL http://duplicacy-web:3875/get_backup_status I get an “unauthorized” message. I tried to use “authentication method” in Uptime Kuma with only the password configured (username is blank), but it doesn’t work.

Any ideas?

2 Likes