this post was submitted on 10 Nov 2023
13 points (88.2% liked)

Selfhosted

40134 readers
533 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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 @[email protected] ) ! Basically with it I can create ephemeral development environments with the toolchain I want that contains instances of code-server.

all 20 comments
sorted by: hot top controversial new old
[–] [email protected] 9 points 1 year ago (1 children)

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/

[–] [email protected] 2 points 1 year ago (1 children)

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

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (2 children)

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.

[–] [email protected] 2 points 1 year ago (1 children)

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... :)

[–] [email protected] 4 points 1 year ago (1 children)

You can self host VS Code.

[–] [email protected] 2 points 1 year ago

Yes, I've tried already that option (code server) and unfortunately I cannot use the "Remote" / "Dev Containers" extension with it. If you know how to do that, please let me know.

[–] [email protected] 5 points 1 year ago (1 children)

You're looking for Coder.

You can even set up your DE with the bits required to build your apps.

[–] [email protected] 2 points 1 year ago (1 children)

Thanks a lot, great suggestion! I'll play around with it and let you know :)

[–] [email protected] 2 points 1 year ago

This looks interesting indeed, but there is some unclarity on which features are behind the enterprise edition paywall. If you try it out please let us know what your impression is.

[–] [email protected] 2 points 1 year ago

Couldn't you just use a container or a VM with ssh?

[–] [email protected] 2 points 1 year ago

Another alternative approach could be Distrobox, where you can set up isolated environments for your specific needs.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

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.

https://github.com/coder/code-server/discussions/4462

[–] [email protected] 1 points 1 year ago

Thanks, that was an option I had on table, just wanted to check if there was a "simpler" solution

[–] [email protected] 2 points 1 year ago (1 children)

sshfs and mount the remote fs locally. then you can use any editor/IDE you like.

[–] [email protected] 1 points 1 year ago

Thanks but that would not fit my case as I'd have to install locally all the toolchain. As much as possible I'd like to have everything on a remote server.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

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?