Code Server (Vs code online)
-
I think we should collaborate on a minimal base docker image that only contains the installation of code-server, and then design a solution to allow adding dev dependencies on top of it as required by each end-user.
Say, first lift all the code-server-specific improvements from murgero's image into dswd's image and publish it at
cloudron/code-server-base
. Then murgero's image starts withFROM cloudron/code-server-base
and adds their unique dev dependencies and publishes it separately. The key will be improve the image build, installation, and updating process to be as smooth as the usual app install process. (The cli is great for cloudron development, but kinda cumbersome for ongoing maintenance.)Based on the way code-server is designed I doubt it could ever be a multi-user app. There is some discussion on code-server multi-tenancy on Setting up code-server for multi-tenancy #792. In summary, it doesn't seem viable and the discussion quickly shifts towards how to set up and manage a container-per-user design, which is an area that I think Cloudron could add a lot of value.
Perhaps both of these problems could be solved by creating a custom app that uses the cloudron api to expose an easier way to spin up code-server apps for users on demand, using the images designated by the admin.
code-server is a good use-case for proxyAuth. I think it would be neat if we could forward some path to a port inside the container to allow users to hit a dev web server running inside.
-
@infogulch said in Code Server (Vs code online):
I think it would be neat if we could forward some path to a port inside the container to allow users to hit a dev web server running inside.
code-server natively supports this already, just simply logging in and then browsing to
https://fqdn-of-app/proxy/portNumber
example:https://vscode.example.com/proxy/8080
would put you on port 8080 inside the app. So if you had an app or something running on that port, it's http data would be displayed like normal. -
@murgero said in Code Server (Vs code online):
code-server natively supports this already ...
https://fqdn-of-app/proxy/portNumber
Oh neat, I'm glad they landed on that, that's a good solution. Perhaps a proxyAuth implementation should exclude the proxy path with something like
"proxyAuth": { "path": "!/proxy" }
.Perhaps this is a bit to early to worry about, but at some point we might consider restricting the app proxy's access to cloudron cookies with domain or path parameters.
-
@murgero @dswd what are the extra packages that are pre-installed? If it's not too big, maybe we can compromise and just install it all in one. It's more important to be useful to more number people than be minimal (of course, everything has a limit..).
I wonder if the right approach here is something like JupyterHub. What that project does is to have a "workspace manager" with a login screen. When logged in, it spins up a new "notebook docker container" for each user. This way the user can install whatever packages they want in that docker image. See https://github.com/jupyterhub/jupyterhub . I guess in our case if the size is limiting, maybe we should write a VsCodeHub which when logged in, spins off a vs code container for each user. This makes the app properly multi-user.
-
My package includes a ton of extra packages to cover the most popular programming and scripting choices. (Some are actually already in the Cloudron base image, which I use.)
- GOLANG
- PHP7.4 (PHP8.0 will be included soon!)
- Python
- PowerShell
- DotNet Core (C#, VB.NET, etc) (.NET Full will be included soon as well since full supports Linux now I believe)
- R
- R-lang
- NodeJS (Updated to latest)
I am probably missing a couple but I wanted to make sure a lot of the popular stuff was covered here.
-
-
@enabl-ist was curious if this is related to "code server", but it seems to be something newly done without any relations to the existing project.
https://github.com/cdr/code-server/discussions/4267
similar discussion in the "openvscode" project https://github.com/gitpod-io/openvscode-server/discussions/99
-
@fbartels indeed it looks like two different projects, with (kind of) the same goal... What I read is that the gitpod version is more simplified in features. I haven't had time to test it myself, just wanted to let the community know of this similar project.
-
@murgero jw if you still have a repo for this as the original link is dead =/
-
@plusone-nick my github has a repo, status is unknown as it's been a long time since I've touched it
https://github.com/mitchellurgero
https://github.com/mitchellurgero/cloudron-vscode-package
Note: this uses an old version of vscode and needs to be updated.
-
So, this thread seems to have died and wanted to revive it as it would be great to have vs-code online be a part of Cloudron. For me, I look to Cloudron to be a platform that hosts publicly facing apps, but have the security with Cloudron. This is something that can be easy to install on Home Assistant or my TrueNAS Scale system, but for it to function it's best it needs to be accessible over HTTPS... and that's where the problem comes in. It may not be "privacy focused" but it's one of the most commonly used development tools and it would be nice to have VS Code IDE available anywhere, whether from my desktop or tablet. Having it within Cloudron would be super helpful.