Given our deployment is behind JupyterHub with jupyter-server-proxy installed, we would want to have this format of display URL instead: https://OUR_HOST/jupyter/user/OUR_USER/port/5007/.
Does Panel allow customizing the display URL via environment variable containing a template string?
With that DASK_DISTRIBUTED__DASHBOARD__LINK env var set, the Dask client displays the dashboard URL nicely when behind JupyterHub. User do not have to manually alter the URL, less error-prone and more user-friendly.
And we also do not want our users to know anything about the specific configurations.
The trick from Dask dashboard link is the cleanest. Users do not change anything to their workflow. It just magically display the proper URL behind the proxy to the users.
an internal python package that can start panel (or any other web app) in a new docker container on our kubernetes cluster by providing a few arguments to a function (name, command, url)
(Both of the above options are for sharing the app with other users)
Here is a reproducible runtime from Binder you can try: Binder
If you open notebook TEST-panel-servable.ipynb and you click on “using Jupyter panel preview (green icon)”, it does not work.
However, I just managed to get the Panel launcher (from jupyter-panel-proxy) to work for the same notebook TEST-panel-servable.ipynb, had to set environment variable BOKEH_ALLOW_WS_ORIGIN="*" in the Dockerfile.
But the Panel launcher do not recurse to the subdir1 and subdir1/subdir2, so this is half working for us.
The best would be for the “using Jupyter panel preview (green icon)” to work.
@tlvu I am trying to allow users to spawn bokeh servers using .show( port=8012 ) from within a JupyterHub JupyterLab Docker Image. Even though I expose port 8001 and I added -p 8012:8001 in my docker run command I still get blocked. I even added the ENV BOKEH_ALLOW_WS_ORIGIN = “*” to my Dockerfile. How would I go about allowing multiple users to be able to spawn such servers?
You seem to have inverted your exposed port, it probably should be -p 8001:8012. Otherwise I am not sure I understand your question so can not help much.