henrygd / beszel

Lightweight server monitoring hub with historical data, docker stats, and alerts.
MIT License
1.59k stars 59 forks source link

Serving under a subpath location #33

Open SKJoy opened 3 months ago

SKJoy commented 3 months ago

Is it possible to serve the Hub UI through a custom URL like https://host.com/beszel/ while using the Docker instance?

My current Beszel with Docker is working great :) But accessible with the base URL https://host.com/ only. I am using NginX reverse proxy.

henrygd commented 3 months ago

I don't have time to test myself currently, but this should be possible using a rewrite like in this example configuration: https://pocketbase.io/docs/going-to-production/#using-reverse-proxy

Do something like that and let me know if you can access the pocketbase instance at https://host.com/beszel/_/

If you can access PocketBase but the Beszel front end is broken at https://host.com/beszel/, please let me know what the error is. If the interface loads but data does not, please open devtools and let me know what the error says.

You may need to change your application URL in the pocketbase settings.

SKJoy commented 3 months ago

I understand the concept they wrote there; but that is not going to work because the URLs generated on the server side (PocketBase) won't have any idea about the location path and will always generate base URLs :( So, even if the first request works, all subsequent requests will fail with a 404. Also, in my test, even the first call fails with a 404 status.

SKJoy commented 3 months ago

While it is possible to fix the generated URLs using subfilter directive; but it has it's own side effects too; not recommended.

henrygd commented 3 months ago

I'll test after I've cleared out a handful of other things.