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.

  • ck_@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    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/

      • StarDreamer@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        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.

  • Petter1@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    1 year ago

    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.

    • knF@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

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

        • knF@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          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.

    • knF@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

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

      • poVoq@slrpnk.net
        link
        fedilink
        English
        arrow-up
        2
        ·
        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.

    • knF@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

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

  • OSH@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

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

    • knF@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      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.

    • knF@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      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?