This guide outlines steps to access Uptime Kuma through a semi-protected Cloudflare Tunnel.
Semi-protected meaning the status page is public, while all other endpoints are private.
Consider e.g. Fly.io (repo) (howto).
Follow Uptime Kuma's guide for setting up Cloudflare Tunnel as a reverse proxy.
Create two policies
admin
allow
actioninclude
rule withemails
selector, value set to your personal (or other desired) email address
public
bypass
actioninclude
rule witheveryone
selector
Optionally, add an identity provider to Cloudflare, e.g. Google.
Create two applications, optionally using the above identity provider for both
uptimekuma-admin
with 1 input method- {type:
public hostname
, subdomain:uptime
, domainYOUR_DOMAIN
}
- {type:
uptimekuma-public
with 4 input methods- {type:
public hostname
, subdomain:uptime
, domain:YOUR_DOMAIN
, path:status
} - {type:
public hostname
, subdomain:uptime
, domain:YOUR_DOMAIN
, path:assets
} - {type:
public hostname
, subdomain:uptime
, domain:YOUR_DOMAIN
, path:api/status-page
} - {type:
public hostname
, subdomain:uptime
, domain:YOUR_DOMAIN
, path:icon.svg
}
- {type:
Disable Uptime Kuma's native auth at your Uptime Kuma instance via Settings > Security > Disable auth
.
Validate the following access scenarios
- Can access dashboards page after authenticating
- Can access status page after authenticating
- Can't access dashboards when unauthenticated
- Can't access dashboards when identified but with unauthorized identity
- Can access status page when unauthenticated