Jupyterhub: serve a public page

Jupyterhub is great for serving user-specific content to authenticated users.

There are sometimes use cases for also serving some more general content to all users (including those who are not yet logged on).

For example, a Jupyterhub deployment might want to provide a status page, some light weight documentation (perhaps including login instructions) or a public service to compliment authenticated services.

Is this something anyone is doing? Is there a recommended approach? Would jupyterhub services be an appropriate solution?

A service will work, though the main benefit of a JupyterHub service is you can give it a JupyterHub API token, so it can show dynamic content based on JupyterHub, or make changes to JupyterHub.

If you’re running a typical production deployment with a front-end proxy (e.g. Nginx, Apache, etc) and you just want to show static content it’s probably easier to configure your proxy to serve it.

3 Likes

For example, a Jupyterhub deployment might want to provide a status page, some light weight documentation (perhaps including login instructions) or a public service to compliment authenticated services.

JupyterHub Announcement is a nice example of deploying a service that can show the status.

As @manics said, using reverse proxy is a better approach to host static docs. You can do it with service as well. Here is an example of hosting static docs although this has not been upgraded to JupyterHub 4.

2 Likes

Thanks both, the examples are helpful.

1 Like