Proxy Neo4j Web UI with jupyter-server-proxy

For a binder deployment I successfully have Neo4J running inside the container and queryable from notebooks - all good from that perspective. For Neo4j it makes sense to have the instance running all the time - not launched via a shortcut as with some proxied services.

What I’d like to be able to do is launch into the Neo4j Browser (served at :7474/browser), proxied through jupyterlab. I’ve been using the jupyter-server-proxy to get vs code-server working successfully and I expect something simiar is required to get the Neo4j Browser proxied. Neo4j Browser uses web sockets for the bolt protocol on port 7687 to communicate with the database.

Just proxying the web ui on port 7474, I can get a redirect from Neo4j Browser but that is failing for some reason that I am yet to determine. While it appears jupyter-server-proxy supports websockets, I’m currently failing to understand how or if I can proxy the web sockets running on 7687.

My attempts to far can be found here:

Suggestions most welcome!