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.
  • 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
                              • timconsidineT timconsidine

                                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 Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #89

                                @timconsidine thanks for testing it out, will try this out at some point. Giving access to docker itself is complicated and has to be reviewed thoroughly.

                                timconsidineT 1 Reply Last reply
                                0
                                • girishG girish

                                  @timconsidine thanks for testing it out, will try this out at some point. Giving access to docker itself is complicated and has to be reviewed thoroughly.

                                  timconsidineT Offline
                                  timconsidineT Offline
                                  timconsidine
                                  App Dev
                                  wrote on last edited by
                                  #90

                                  @girish yes I understand about issues on DooD and DinD.
                                  I'm not really expecting it for the Cloudron deployment.
                                  There are plenty of use cases for Code-Server without DooD/DinD.

                                  C 1 Reply Last reply
                                  0
                                  • timconsidineT timconsidine

                                    @girish yes I understand about issues on DooD and DinD.
                                    I'm not really expecting it for the Cloudron deployment.
                                    There are plenty of use cases for Code-Server without DooD/DinD.

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

                                    There are plenty of use cases for Code-Server without DooD/DinD.

                                    yes, currently used for multiple user instances on cloudron, mostly foam, some thunder, etc

                                    As for the dev part, i solved it with hack mounting a custom external /nix into the required instances + https://devenv.sh/

                                    nix is generally a cool architectural option for cloudron to look into imho and would love to help qualify such/the opportunity.

                                    1 Reply Last reply
                                    0
                                    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