louislam / uptime-kuma

A fancy self-hosted monitoring tool
https://uptime.kuma.pet
MIT License
59.88k stars 5.36k forks source link

[Request] Allow public access to dashboard #4

Closed zmiguel closed 3 years ago

zmiguel commented 3 years ago

First of all, this project looks awesome, with statping being unmaintained this is an amazing replacement!

I would like to request the addition of some sort of public dashboard like other services have (statping, etc). I use these apps to monitor the status of a few services I run and I would like for my users to be able to check the service's status (like I currently do with tinystatus, but also like statping)

Thank you.

racoon-one commented 3 years ago

Totally agree on this one! I am hosting Game Servers for my friends and we used Uptime Robot to inform them that the server is down before it got paywalled. So this would be pretty handy.

12nick12 commented 3 years ago

I second that would be great. Thanks for the awesome project. I used to run CheckMK (worked great), but I didn't need all the info it provided.

lenaxia commented 3 years ago

For simplicity sake, I would suggest following Statping's structure and just have a "public" or "private" flag instead of any ideas regarding multiple dashboards. Public are always displayed out front, and private are only displayed once logged in.

John-S4 commented 3 years ago

Agreed.

When I saw this project suggested as a statping replacement, this is what I presumed it would do, and just installed it and had a play expecting something that could be used a public status page.

It looks good so far, but this feature would make it far more useful and appeal to a lot more people.

nre-ableton commented 3 years ago

Ditto, this project seems nice, but the lack of a public dashboard is a dealbreaker for me.

lsultana98 commented 3 years ago

Yeah I agree, this dashboard is great, A public display would be fantastic.

atridadl commented 3 years ago

Yeah +1 for the dash.

Aterfax commented 3 years ago

A +1 from me - but I'd like the ability to make this public on a randomised alphanumeric URL so only those with the link can view and / or restricting to users with a view capability / group.

jemand771 commented 3 years ago

Nice idea @Aterfax, although I think it would be smarter to do that externally via something like a reverse proxy. Just map /dash/123456789 to the public dashboard (once it exists) and you're good. Depending on your needs I'd recommand traefik or nginx as a reverse proxy

Aterfax commented 3 years ago

Nice idea @Aterfax, although I think it would be smarter to do that externally via something like a reverse proxy. Just map /dash/123456789 to the public dashboard (once it exists) and you're good. Depending on your needs I'd recommand traefik or nginx as a reverse proxy

True, it should be simple enough to do with nginx reverse proxy. I suppose it depends on your security posture on the LAN but you can cover that with a bit of faff with docker and --net=container:myreverseproxycontainer.

Probably worth documenting using the type of reverse proxy configuration available once a public dashboard bit exists given the availability of nginx, traefik and authelia.

I'd just add that the public dash in whatever form it appears would need to load the resources for display in a manner compatible with the reverse proxy only passing the public part or it could turn in a real faff in terms of reverse proxy configuration to make sure the right resources are accessible.

nandaanubis commented 3 years ago

I'm use this for private now and it's awesome. Big thanks for developer uptime kuma.

I hope in the future there will be a public dashboard feature

luisxiaomai commented 3 years ago

+1, hope for this feature

CountParadox commented 3 years ago

+1 for this feature also

phrankinstein commented 3 years ago

+1 this would be a great feature. Just started implementing on test rack.

ironicbadger commented 3 years ago

Please use the reaction button instead of 1000 +1s, thank you.

orazmyradov commented 3 years ago

does the reaction button work as server side or client side?

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Alex Kretzschmar @.> Sent: Friday, August 27, 2021 5:46:12 AM To: louislam/uptime-kuma @.> Cc: Subscribed @.***> Subject: Re: [louislam/uptime-kuma] [Request] Allow public access to dashboard (#4)

Please use the reaction button instead of 1000 +1s, thank you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/louislam/uptime-kuma/issues/4#issuecomment-906902143, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUXGKTHFM6N4LJJMY6JWKQTT64DAJANCNFSM5AFRZXDA.

Kavenci commented 3 years ago

+1, A public dashboard is what this really needs

douglasjunior commented 3 years ago

I don't think a public dashboard would be very useful, but creating individual public links per monitor would be awesome!

gaby commented 3 years ago

I don't think a public dashboard would be very useful, but creating individual public links per monitor would be awesome!

Our team has hundreds of users, having a public dashboard is useful. Specially for core/infrastructure services.

John-S4 commented 3 years ago

I don't think a public dashboard would be very useful, but creating individual public links per monitor would be awesome!

Why do you think it would not be useful?

There are a lot of use cases where you want site/service/app users to be able to see the status of the services.

douglasjunior commented 3 years ago

By "Dashboard" I mean visualization of ALL registered projects, right?

Imagine a company that has a hundred projects, but only one or two are of interest to certain teams.

Why should the team have access to ALL projects if they are only interested in one?

Saibamen commented 3 years ago

By "Dashboard" I mean visualization of ALL registered projects, right?

No, only those that have their status set to public.

douglasjunior commented 3 years ago

No, only those that have their status set to public.

Even so, in my previous example, you would have a Dashboard with hundreds of public projects. 🤷‍♂️

gaby commented 3 years ago

No, only those that have their status set to public.

Even so, in my previous example, you would have a Dashboard with hundreds of public projects. 🤷‍♂️

Only projects set to Public will show up in the Public dashboard.

beornf commented 3 years ago

No, only those that have their status set to public.

Even so, in my previous example, you would have a Dashboard with hundreds of public projects. 🤷‍♂️

This is getting into semantics the superset of a "Dashboard" feature would be N dashboards either public or private each with M public or private assigned monitors.

louislam commented 3 years ago

No, only those that have their status set to public.

Even so, in my previous example, you would have a Dashboard with hundreds of public projects. 🤷‍♂️

I know what you mean. You want something like one status page per one monitor or multiple status pages.

I also noticed this situation while I try to use this feature to my real services, since those services are under different brands.

May plan to add multiple status pages and separating them by CNAME/Domain name, but will not be implemented in the upcoming version.

douglasjunior commented 3 years ago

That's right @louislam! Thanks for understanding, and congratulations for this amazing job.

Aterfax commented 3 years ago

Hi @louislam great work! I was wondering if we could get the incidents to support markdown?

I also wanted to check if there were any updated instructions for reverse proxying only the public status page (looks like you need to reverse proxy /api/status-page and /status /assets /upload and icon.svg).

Cheers.

Twisterado commented 3 years ago

@Aterfax what reverse proxy are you using? Caddy 2 allows pretty easy adjustments on what to expose and what to keep private.

Aterfax commented 3 years ago

nginx - it's not that I can't do it knowing the above (writing and testing the config is easy enough.) I just that I want to check what is needed only to make the public status page (not full login) work.

Then update the documentation for this in the wiki area.

louislam commented 3 years ago

Maybe there is no beautiful way to achieve this, as most routes are actually just a vue-router (frontend routes).

Status page is not required WebSocket, but the dashboard is required it.

Since you need two more headers "Upgrade" and "Connection" in order to do a reverse proxy for WebSocket, in the other words, you can just ignore these two headers to block the dashboard access.

https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy

kbftech commented 3 years ago

As a statistics addict and homelab enthusiast, I wanted to thank you for this app!

+1 on the public status page.

fv3rdugo commented 2 years ago

Your access to the public dashboard must be like to https://hostname/status/YourDashboard that's all.

neldonado commented 2 years ago

Is there any progress happening on this?

zmiguel commented 2 years ago

Is there any progress happening on this?

This has been a feature for a long time now. What exactly do you mean?

neldonado commented 2 years ago

Is there any progress happening on this?

This has been a feature for a long time now. What exactly do you mean?

How do I enable this? When I go to the dashboard it asks me to enter my password

zmiguel commented 2 years ago

Is there any progress happening on this?

This has been a feature for a long time now. What exactly do you mean?

How do I enable this? When I go to the dashboard it asks me to enter my password

It's the 3rd option in general settings. "Entry page"

neldonado commented 2 years ago

Is there any progress happening on this?

This has been a feature for a long time now. What exactly do you mean?

How do I enable this? When I go to the dashboard it asks me to enter my password

It's the 3rd option in general settings. "Entry page"

Right, I see this here, and it requires a password when I go to the URL I have designated.

image

image

neldonado commented 2 years ago

Just realized I hadn't created a status page yet. :) Problem solved.