Hello everyone, I’m looking for a web based IDE that can create isolated development environments as you could do in Koding or with VSCode with the “Remote” extension.
My use case is quite simple, I want to play around with different projects and languages without installing anything directly on my machine (docker containers FTW) to reduce conflicts between packages and garbage. The “web based” requirement is because I have a server with plenty of capacity to take care of this task and I’d like to keep as clean as possible my PC.
I’ve tried already code server but I cannot install the “Remote” extension to have it create containers on demand.
Any suggestion or help is more than welcome! :D
Edit: Thanks everyone for your great suggestions and idea, much appreciated! It took (and it’s taking) me some time to explore the options you mentioned and the most aligned with my needs is Coder - thanks @cooopsspace@infosec.pub ) ! Basically with it I can create ephemeral development environments with the toolchain I want that contains instances of code-server.
You’re looking for Coder.
You can even set up your DE with the bits required to build your apps.
deleted by creator
I’m not sure if any of this information is useful, code-server doesn’t support installing the Remote-SSH extension. There are alternative methods to connect to environments, I personally think Remote-SSH is ideal.
Thanks, that was an option I had on table, just wanted to check if there was a “simpler” solution
If all you want is to experiment without cluttering you local system, then the nix package manager is probably a better idea that self-hosting a web based IDE. It can be installed on any Linux (or Mac) and once installed works without extra privileges. As
nix
isolates all dependencies by design, it can be used to create pristine, project specific dev environments without impacting or relying on the rest of the system.There are plenty of blog posts out there explaining the concepts and how to get started, eg. https://monospacedmonologues.com/2022/06/throwaway-development-environments-with-nix/
Fantastic suggestion and thanks for the post, very clear! I played with NixOS some time ago but I totally missed this capability. Fits quite well my use case, thanks! And I found this extension that could make things easier: https://marketplace.visualstudio.com/items?itemName=arrterian.nix-env-selector
Another thing you can look into is apptainer/singularity. Basically portable container binaries. Executing the binary automatically runs a program/drops you into a shell inside the container with your $HOME mounted inside. Stuff like cuda also work as long as your host system has appropriate drivers.
You can also port docker containers to apptainer directly via cli.
Might be worth a look.
I had a look at it but it doesn’t seem to be able to create isolated dev environments on its own. Is it the case?
Something like this?
https://code.visualstudio.com/docs/remote/vscode-server
https://hub.docker.com/r/ahmadnassri/vscode-server/#!
You can try it on github for free using the “.” Key of your hardware keyboard in any git to open it in a Microsoft hosted web instance of VS code. Works even on iPad.
Edit: Oh dear, i guess you meant this by „code server“ sorry did not read to the end/and the beginning not properly, lol.
deleted by creator
Thanks for the reply, actually I wasn’t aware of that functionality in Github, that’s fantastic! If only I could have something similar selfhosted… :)
You can self host VS Code.