It’s also possible to package that as a “pip” python package for the configuration. I thought that https://github.com/jupyterhub/jupyter-server-proxy/tree/master/contrib/theia had this included.
For example, in https://github.com/dirkcgrunwald/jupyter_codeserver_proxy- I set up a proxy for VScode. The installation then looks like the code below. The challenge is that you need to install the jupyterlab-server-proxy to get any of this to work and the version that’s in
conda is too old for jupyterlab-1.0 and above, if I recall.
RUN (cd /tmp && \
git clone https://github.com/jupyterhub/jupyter-server-proxy && \
cd /tmp/jupyter-server-proxy/jupyterlab-server-proxy && \
npm install && npm run build && jupyter labextension link . && \
rm -rf /tmp/jupyter-server-proxy )
RUN $CONDA_DIR/bin/pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple jupyter-codeserver-proxy==1.0b3
RUN cd /opt && \
mkdir /opt/code-server && \
cd /opt/code-server && \
wget -qO- https://github.com/cdr/code-server/releases/download/2.1698/code-server2.1698-vsc1.41.1-linux-x86_64.tar.gz | tar zxvf - --strip-components=1
The resulting proxy display looks like the following on our setup. I could never get the VScode tile to get to where e.g the Terminal is (which would make more sense) but I didn’t invest much time in trying.