Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Code Server (Vs code online)

Code Server (Vs code online)

Scheduled Pinned Locked Moved App Wishlist
91 Posts 19 Posters 28.2k Views 19 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ajtatumA ajtatum

    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.

    murgeroM Offline
    murgeroM Offline
    murgero
    App Dev
    wrote on last edited by
    #69

    @ajtatum My repo above is able to be installed - I still haven't updated it tho.

    --
    https://urgero.org
    ~ Professional Nerd. Freelance Programmer. ~

    ajtatumA 1 Reply Last reply
    2
    • murgeroM murgero

      @ajtatum My repo above is able to be installed - I still haven't updated it tho.

      ajtatumA Offline
      ajtatumA Offline
      ajtatum
      wrote on last edited by
      #70

      @murgero I appreciate it, but I'd prefer an updated version and it be officially supported/maintained by Cloudron.

      murgeroM 1 Reply Last reply
      2
      • ajtatumA ajtatum

        @murgero I appreciate it, but I'd prefer an updated version and it be officially supported/maintained by Cloudron.

        murgeroM Offline
        murgeroM Offline
        murgero
        App Dev
        wrote on last edited by
        #71

        @ajtatum eventually when I get around to updating it and adding the automated tests I plan to submit it to cloudron but life has been getting in the way

        --
        https://urgero.org
        ~ Professional Nerd. Freelance Programmer. ~

        1 Reply Last reply
        4
        • C Offline
          C Offline
          c0decafe
          wrote on last edited by
          #72

          put one together https://github.com/c0decafe/cloudron-codeserver

          girishG 1 Reply Last reply
          5
          • C c0decafe

            put one together https://github.com/c0decafe/cloudron-codeserver

            girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #73

            @c0decafe this looks awesome πŸ™‚ If you can throw in a LICENSE , I can move it over to our gitlab for publishing.

            1 Reply Last reply
            1
            • murgeroM Offline
              murgeroM Offline
              murgero
              App Dev
              wrote on last edited by murgero
              #74

              I have a working package ready to go on the gitlab linked in the OP above somewhere. @c0decafe what does yours do differently than mine? Though I do like your repo certainly looks cleaner than mine lol

              --
              https://urgero.org
              ~ Professional Nerd. Freelance Programmer. ~

              girishG 1 Reply Last reply
              1
              • murgeroM murgero

                I have a working package ready to go on the gitlab linked in the OP above somewhere. @c0decafe what does yours do differently than mine? Though I do like your repo certainly looks cleaner than mine lol

                girishG Offline
                girishG Offline
                girish
                Staff
                wrote on last edited by
                #75

                @murgero oh, i missed yours. It seems is extended over LAMP app but @c0decafe is better because it's from scratch and only has the necessary things. Also, it seems your repo installs things like .net which @c0decafe does not. Not sure if those are needed or not.

                murgeroM 1 Reply Last reply
                1
                • doodlemania2D Offline
                  doodlemania2D Offline
                  doodlemania2
                  App Dev
                  wrote on last edited by
                  #76

                  Would be good to have .net I think so one can work with the language, no? Or is that superfluous??

                  1 Reply Last reply
                  0
                  • girishG girish

                    @murgero oh, i missed yours. It seems is extended over LAMP app but @c0decafe is better because it's from scratch and only has the necessary things. Also, it seems your repo installs things like .net which @c0decafe does not. Not sure if those are needed or not.

                    murgeroM Offline
                    murgeroM Offline
                    murgero
                    App Dev
                    wrote on last edited by murgero
                    #77

                    @girish Yea I like @c0decafe's as it's definitely cleaner.

                    Mine installs some basic developer environments like powershell, .net, node, etc so actual code can be compiled and tested in-app. IDK if it should be included with @c0decafe's, but I think it is a QOL thing.

                    Edit: Now I remember why I built it over the LAMP app - so PHP apps can be developed in full (including MySQL). Could be cleaned up and tbh I haven't maintained it so it's probably better to use @c0decafe's anyway.

                    So his repo gets an upvote from me!
                    9e7c3339-b251-4cc3-9ef4-2583c54f7c20-image.png

                    --
                    https://urgero.org
                    ~ Professional Nerd. Freelance Programmer. ~

                    1 Reply Last reply
                    4
                    • P plusone-nick referenced this topic on
                    • girishG Offline
                      girishG Offline
                      girish
                      Staff
                      wrote on last edited by
                      #78

                      It seems a license file appeared upstream, so I will add this to our internal list.

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        c0decafe
                        wrote on last edited by
                        #79

                        Yes, I updated the package with (un)license, impermanent home dir and a few other tweaks.

                        As for language support, I can't think of any clean implementation within the current scope.

                        As a matter of fact, my primary use case for this package is, counterintuitively, not development, but rather a power editor with extensions, ie: markdown editor with git integration, dendron, etc..

                        The only way to make it scale for actual software dev within the scope of a cloudron app would be leveraging (abusing?) the docker addon.

                        The best candidate is coder, from the same team that maintains code-server: https://github.com/coder/coder

                        You can find a poc at https://github.com/c0decafe/cloudron-coder, but actually starting containers doesn't work yet.

                        Upstream VSCode also has a nifty devcontainers extension to do just that:

                        • https://code.visualstudio.com/docs/devcontainers/containers
                        • https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers

                        It is however unfortunately not supported on web platforms right now:
                        Screenshot.png

                        Another alternative currently available on cloudron is the GitLab webide, but:

                        1. No extensions support (yet)
                          https://gitlab.com/gitlab-org/gitlab/-/issues/355092
                        2. No run/debug support (yet)
                        3. Requires manually installed remote runtimes
                          https://docs.gitlab.com/ee/user/project/remote_development/
                        girishG 1 Reply Last reply
                        4
                        • C c0decafe

                          Yes, I updated the package with (un)license, impermanent home dir and a few other tweaks.

                          As for language support, I can't think of any clean implementation within the current scope.

                          As a matter of fact, my primary use case for this package is, counterintuitively, not development, but rather a power editor with extensions, ie: markdown editor with git integration, dendron, etc..

                          The only way to make it scale for actual software dev within the scope of a cloudron app would be leveraging (abusing?) the docker addon.

                          The best candidate is coder, from the same team that maintains code-server: https://github.com/coder/coder

                          You can find a poc at https://github.com/c0decafe/cloudron-coder, but actually starting containers doesn't work yet.

                          Upstream VSCode also has a nifty devcontainers extension to do just that:

                          • https://code.visualstudio.com/docs/devcontainers/containers
                          • https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers

                          It is however unfortunately not supported on web platforms right now:
                          Screenshot.png

                          Another alternative currently available on cloudron is the GitLab webide, but:

                          1. No extensions support (yet)
                            https://gitlab.com/gitlab-org/gitlab/-/issues/355092
                          2. No run/debug support (yet)
                          3. Requires manually installed remote runtimes
                            https://docs.gitlab.com/ee/user/project/remote_development/
                          girishG Offline
                          girishG Offline
                          girish
                          Staff
                          wrote on last edited by
                          #80

                          @c0decafe I don't know vscode that well enough. But does it allow connecting an external server to launch docker containers ? (instead of using the docker addon). If so, that's the ideal setup imo. Trying to use cloudron's internal docker network to launch app dev containters will bomb spectacularly at some point πŸ™‚

                          C 1 Reply Last reply
                          0
                          • girishG girish

                            @c0decafe I don't know vscode that well enough. But does it allow connecting an external server to launch docker containers ? (instead of using the docker addon). If so, that's the ideal setup imo. Trying to use cloudron's internal docker network to launch app dev containters will bomb spectacularly at some point πŸ™‚

                            C Offline
                            C Offline
                            c0decafe
                            wrote on last edited by
                            #81

                            @girish I dropped the idea of using docker for the code-server package, latest push removed the docker dependencies.

                            I'll add README when I get the chance.

                            Remote docker should work for coder however, also supports all major public clouds, but that's for another thread I suppose.

                            1 Reply Last reply
                            1
                            • timconsidineT Offline
                              timconsidineT Offline
                              timconsidine
                              App Dev
                              wrote on last edited by
                              #82

                              @girish are you planning to add @c0decafe package to App Store ?

                              Personally I don’t see much advantage of having an online dev environment without some dev languages, as @murgero does. But interested to try.

                              @murgero is your repo available ?

                              1 Reply Last reply
                              0
                              • girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #83

                                I wasn't sure what the current state is. Did you try it out alraedy @timconsidine ? @c0decafe can you tell us the state?

                                1 Reply Last reply
                                0
                                • timconsidineT Offline
                                  timconsidineT Offline
                                  timconsidine
                                  App Dev
                                  wrote on last edited by timconsidine
                                  #84

                                  @girish not tried it yet because it appears to not support added languages like nodejs.
                                  I'm testing a self-built package based on openvscode-server with added nodejs and Flutter.
                                  If I get it working with authentication, I will look at packaging for Cloudron.
                                  But interested in any updates @c0decafe can give us.

                                  1 Reply Last reply
                                  0
                                  • timconsidineT Offline
                                    timconsidineT Offline
                                    timconsidine
                                    App Dev
                                    wrote on last edited by
                                    #85

                                    Got custom openvscode-server with added node and flutter as a native Docker deployment. Not so difficult.
                                    Hard part is to work out how to package it for Cloudron. <scratches head>

                                    robiR 1 Reply Last reply
                                    0
                                    • timconsidineT timconsidine

                                      Got custom openvscode-server with added node and flutter as a native Docker deployment. Not so difficult.
                                      Hard part is to work out how to package it for Cloudron. <scratches head>

                                      robiR Offline
                                      robiR Offline
                                      robi
                                      wrote on last edited by robi
                                      #86

                                      @timconsidine it's only flutter and the app code that's missing from the base image, no?

                                      Conscious tech

                                      1 Reply Last reply
                                      0
                                      • timconsidineT Offline
                                        timconsidineT Offline
                                        timconsidine
                                        App Dev
                                        wrote on last edited by
                                        #87

                                        While researching, I tried the linuxserver docker for openvscode-server and it didn’t have nodejs.
                                        But yes node is in Cloudron base so may not have to add it.

                                        1 Reply Last reply
                                        0
                                        • timconsidineT Offline
                                          timconsidineT Offline
                                          timconsidine
                                          App Dev
                                          wrote on last edited by timconsidine
                                          #88

                                          So I built @c0decafe package for codeserver.

                                          1st observations :

                                          • slick (simple in a good way) Dockerfile πŸ‘
                                          • flawless build and deploy πŸ‘
                                          • supports php, node, python3 'out of the box' as part of Cloudron base image πŸ‘
                                          • not sure if some dev tasks might need user cloudron to be part of sudo (but maybe not)
                                          • read-only /app/code etc makes installing Flutter bit more complex : still working on it
                                          • theme gets set nicely on first run, but lost on reinstall
                                          • supports adding VS Code extensions : maybe not all but added one flawlessly πŸ‘
                                          • no support for DinD or DooD : understand the reasons & limitations

                                          Generally very nice package.
                                          I would recommend being available on App Store as a good dev / editor environment.
                                          In current scope, fairly easy to maintain for upgrades.
                                          Definitely addresses a number of dev use cases (if not all, but that's complex in itself)

                                          Adding additional dev languages might be needed for some use cases, but that adds significantly to image size.
                                          And maybe raises issues of maintainability of version upgrades, core package and dev addons.
                                          So not sure how this functionality can be implemented or maintained.

                                          Depending on use case, Docker support might be an issue.
                                          I have a custom version of openvscode-server running in Docker on another VPS, and I have been able to get DooD support by adding a volume label -v /var/run/docker.sock:/var/run/docker.sock`.

                                          Sidenote on Flutter : getting Flutter installed and available may not be too difficult.
                                          But for a good dev environment, Flutter needs stuff like AndroidStudio, some Chrome engine and Xcode for iOS dev.
                                          In a hosted dev environment, this is difficult/impossible.
                                          So one probably needs a local build/compile/test environment.
                                          But then why not do everything locally ?

                                          Despite the limitations on scope, I do think Codeserver on Cloudron would be a good addition.
                                          Other PaaS have similar, so it might be a case of keeping some feature-equivalence with them.

                                          girishG 1 Reply Last reply
                                          4
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search