Running VSCode Web IDE code-server inside the Jupyter environment.
- Installed version of https://github.com/coder/code-server
- If code-server is installed via Lmod: Loading code-server using Lmod
jupyter-server-proxy>=4.1.2
python3 -m pip install jupyter-code-server
The environment variable CODE_WORKING_DIRECTORY
is prioritised and can be changed for the VSCode Web IDE independently of the Jupyter working/notebook directory.
The order/priority is as follows:
CODE_WORKING_DIRECTORY
, if not set:JUPYTERHUB_ROOT_DIR
, if not set:JUPYTER_SERVER_ROOT
, if not set:HOME
In case code-server is already running (e.g. started in sidecar container with Jupyter running in Kubernetes)
and servig either via TCP port or UNIX socket, it is possible to proxy this already running instance instead
of starting a new one with jupyter-server-proxy. Variables JSP_CODE_SERVER_PORT
and JSP_CODE_SERVER_SOCKET
set command
to empty list which makes jupyter-server-proxy
pass requests to specified port of socket.
If running code-server is listening to TCP port, environment variable JSP_CODE_SERVER_PORT
may be set to
port number.
If running code-server is listening to UNIX socket, environment variable JSP_CODE_SERVER_SOCKET
may be set to
socket file path.
If none of these environment variables are set, jupyter-code-server starts new code-server process and proxies requests to its socket.
By default code-server launcher is enabled and visible in JupyterLab. Option JSP_CODE_SERVER_LAUNCHER_DISABLED
may be set to any non-empty value to disable launcher. This is useful when e.g. certain users are not supposed
to have code-server available in Jupyterhub as there is no easy way to disable loading of entire jupyter-code-server
module for these users if module is for example built into Docker image.
If code-server needs to be loaded from an Lmod environment you can set the JSP_CODE_SERVER_LMOD_MODULE
variable to the path of the module.
Example: JSP_CODE_SERVER_LMOD_MODULE=tools/code-server/4.22.1
The module will then be loaded with the help of LMOD_CMD
and MODULEPATH
before the code-server is started.