code-server as a frontend for JupyterHub
Hi there! Does anyone have experience with hosting code-server directly as the primary frontend of a container running on a K8s JupyterHub?
I'm successfully capable of running it from an initialized container that runs JupyterLab, but I would like to completely swap out JupyterLab in favor of code-server.
That way. you could manage a multi-tenancy code-server environment that leverages JupyterHub's admin.
5 Replies
<#1357350814632509552>
Category
Help needed
Product
code-server
Platform
Linux
Logs
Please post any relevant logs/error messages.
given the features you want, you are looking for Coder
Coder | Cloud Development Environment: Remote & Self Hosted
The #1 self-hosted cloud development environment with over 50M open source downloads. Discover faster build times & reduce cloud costs with Coder today.
code-server
is just a simple vscode web server, Coder is a CDE that allows you to provision full-blown dev environments
you would set up a template for your devs that has JupyterLab installedWell, I want the simplicity of the JupyterHub K8s (z2jh helm template) admin and user provisioning and the coder Docker image for users. No need for Terraform, RBAC or other template management. Just K8s, a single helm chart and a Docker image with code-server for users.
The question is if anyone has succeeded in replacing the default JupyterLab frontend with code-server's VS Code frontend. Perhaps by wrapping it in
jupyter_server
's ServerApp
class or adjusting the KubeSpawner
class correctly to play nice with JupyterHub.i'm not sure how this would work, could you elaborate a bit?
JupyterLab has a web version but you seem to be aware
No need for Terraform, RBAC or other template management. Just K8s, a single helm chart and a Docker image with code-server for users.I understand what you mean, but this use-case would definitely be easier with Coder, especially with the multi-tenancy use-case obviously you'd have to write some Terraform but our default templates are pretty good CDEs are pretty useful, I understand that you maybe don't want to have to manage something like this, but to me it seems like reinventing the wheel