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. Feature Requests
  3. Make it easier to use your own app

Make it easier to use your own app

Scheduled Pinned Locked Moved Feature Requests
14 Posts 7 Posters 2.2k Views 7 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.
    • E Offline
      E Offline
      ekevu123
      wrote on last edited by
      #1

      Is there a way to potentially make it easier to install your own application?

      For now, this is it: https://docs.cloudron.io/packaging/tutorial/

      I think it could make Cloudron more attractive if it was easier to run basically any piece of code on it. Updating it is still difficult, for example.

      1 Reply Last reply
      0
      • subvenS Offline
        subvenS Offline
        subven
        wrote on last edited by
        #2

        Did you overlook the cheat sheet and the App Packaging & Development forum?

        There is enough basic information on how to package apps for Cloudron. This is not reinventing the wheel since packing apps with Docker is out there for a long time and there is no "easy" way since this is already very comfortable. I'm neither a developer nor a real programmer but with my knowledge as admin and some docker and ops skills, I was able to pack apps for Cloudron. The Cloudron base image with its addons together with the build service app makes this easier then ever before.

        E 1 Reply Last reply
        0
        • subvenS subven

          Did you overlook the cheat sheet and the App Packaging & Development forum?

          There is enough basic information on how to package apps for Cloudron. This is not reinventing the wheel since packing apps with Docker is out there for a long time and there is no "easy" way since this is already very comfortable. I'm neither a developer nor a real programmer but with my knowledge as admin and some docker and ops skills, I was able to pack apps for Cloudron. The Cloudron base image with its addons together with the build service app makes this easier then ever before.

          E Offline
          E Offline
          ekevu123
          wrote on last edited by
          #3

          @subven It's a matter of perspective, I guess. It is doable, yes, but I wouldn't call it easy.

          timconsidineT 1 Reply Last reply
          0
          • E ekevu123

            @subven It's a matter of perspective, I guess. It is doable, yes, but I wouldn't call it easy.

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

            @ekevu123 it's certainly subjective, but relatively easy is definitely achievable. Just needs practice.
            Deploying to Cloudron I mean.
            Can't comment on any app - that depends on the code.
            But packaging is fairly straightforward with a little practice.
            Anything/everything in IT is complex when you are not familiar, and easy when you are.

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

              I do think packaging is quite a technical topic unfortunately and requires some sysadmin and devops knowledge . deb/rpm packaging are quite complicated beasts as well.

              MooCloud_MattM 1 Reply Last reply
              0
              • girishG girish

                I do think packaging is quite a technical topic unfortunately and requires some sysadmin and devops knowledge . deb/rpm packaging are quite complicated beasts as well.

                MooCloud_MattM Offline
                MooCloud_MattM Offline
                MooCloud_Matt
                wrote on last edited by
                #6

                @girish
                I think the big deal is just read only fs.
                Been able to select directory to be R+W and not just App/data can be a good idea on the simplify packaging for Cloudron.

                Matteo. R.
                Founder and Tech-Support Manager.
                MooCloud MSP
                Swiss Managed Service Provider

                E jdaviescoatesJ 2 Replies Last reply
                0
                • MooCloud_MattM MooCloud_Matt

                  @girish
                  I think the big deal is just read only fs.
                  Been able to select directory to be R+W and not just App/data can be a good idea on the simplify packaging for Cloudron.

                  E Offline
                  E Offline
                  ekevu123
                  wrote on last edited by
                  #7

                  I don't mind the process itself, but two improvements would certainly help:

                  1. If I can give access to a maintainer for only one app and it doesn't require server access to install it. So, if I could install something like an empty app in Cloudron and then have someone else figure things out in the terminal.
                  2. If updates could be implemented easier. By easier I mean: ideally, by taking the code from a repository, for example.
                  fbartelsF 1 Reply Last reply
                  0
                  • MooCloud_MattM MooCloud_Matt

                    @girish
                    I think the big deal is just read only fs.
                    Been able to select directory to be R+W and not just App/data can be a good idea on the simplify packaging for Cloudron.

                    jdaviescoatesJ Offline
                    jdaviescoatesJ Offline
                    jdaviescoates
                    wrote on last edited by
                    #8

                    @MooCloud_Matt said in Make it easier to use your own app:

                    @girish
                    I think the big deal is just read only fs.
                    Been able to select directory to be R+W and not just App/data can be a good idea on the simplify packaging for Cloudron.

                    But that would break how Cloudron works, making apps much less secure, and much harder to maintain ( backups, updates, migrations)

                    I use Cloudron with Gandi & Hetzner

                    MooCloud_MattM 1 Reply Last reply
                    1
                    • E ekevu123

                      I don't mind the process itself, but two improvements would certainly help:

                      1. If I can give access to a maintainer for only one app and it doesn't require server access to install it. So, if I could install something like an empty app in Cloudron and then have someone else figure things out in the terminal.
                      2. If updates could be implemented easier. By easier I mean: ideally, by taking the code from a repository, for example.
                      fbartelsF Offline
                      fbartelsF Offline
                      fbartels
                      App Dev
                      wrote on last edited by
                      #9

                      @ekevu123 said in Make it easier to use your own app:

                      If I can give access to a maintainer for only one app and it doesn't require server access to install it. So, if I could install something like an empty app in Cloudron and then have someone else figure things out in the terminal.

                      That actually already works, but is mainly useful for static/php apps. You can add an "operator" to an app. This operator then has access to the logs, files manager and terminal for the given app.

                      E 1 Reply Last reply
                      2
                      • jdaviescoatesJ jdaviescoates

                        @MooCloud_Matt said in Make it easier to use your own app:

                        @girish
                        I think the big deal is just read only fs.
                        Been able to select directory to be R+W and not just App/data can be a good idea on the simplify packaging for Cloudron.

                        But that would break how Cloudron works, making apps much less secure, and much harder to maintain ( backups, updates, migrations)

                        MooCloud_MattM Offline
                        MooCloud_MattM Offline
                        MooCloud_Matt
                        wrote on last edited by
                        #10

                        @jdaviescoates
                        I'm not on the same idea, if you can specify in the manifest the directories that are writable(or better where a volume should be mounted), you can back them up as you do with /app/data.

                        and the same for updates and migration, updates are managed by the start script or by including the new code directly in the image, this will not change is exactly the same as now, and is secure as now, because you still have all the FS lock, just some directory will be writable, and they are specified in the manifest.

                        And we have proof that it works because the compose specification is easy to use and easy to set up a backup of the volume mounted on the container.

                        Matteo. R.
                        Founder and Tech-Support Manager.
                        MooCloud MSP
                        Swiss Managed Service Provider

                        1 Reply Last reply
                        1
                        • fbartelsF fbartels

                          @ekevu123 said in Make it easier to use your own app:

                          If I can give access to a maintainer for only one app and it doesn't require server access to install it. So, if I could install something like an empty app in Cloudron and then have someone else figure things out in the terminal.

                          That actually already works, but is mainly useful for static/php apps. You can add an "operator" to an app. This operator then has access to the logs, files manager and terminal for the given app.

                          E Offline
                          E Offline
                          ekevu123
                          wrote on last edited by
                          #11

                          @fbartels Yeah, but I cannot use that function to have someone install and maintain a custom app.

                          MooCloud_MattM 1 Reply Last reply
                          0
                          • E ekevu123

                            @fbartels Yeah, but I cannot use that function to have someone install and maintain a custom app.

                            MooCloud_MattM Offline
                            MooCloud_MattM Offline
                            MooCloud_Matt
                            wrote on last edited by
                            #12

                            @ekevu123
                            You can limit what a user can do with the operator role, and update the app using a custom docker image, with the API and a Rest Client or the Cloudron CLI(that work flawlessly with a CI/CD).
                            You should follow the idea of updating the image and not the software inside of it, when you containerize any app for cloudron, because they are the same principle applied to any docker install.

                            As I suggested, you could just set up a CI CD, and provide access to the GIT repo + the operator access to cloudron for reading logs and access the terminal, to your developer.
                            This allows you to update the app, keeping the advantage of cloudron for stability, security, and backup, ... and having that extra flexibility that you are asking for.

                            I know that is not what you expect as an answer, but cloudron is built with the idea of using an opinionated layout(for easy maintenance and stability), for DIY a solution, maybe Portainer is a better fit for the flexibility that it offers.

                            Matteo. R.
                            Founder and Tech-Support Manager.
                            MooCloud MSP
                            Swiss Managed Service Provider

                            fbartelsF 1 Reply Last reply
                            3
                            • MooCloud_MattM MooCloud_Matt

                              @ekevu123
                              You can limit what a user can do with the operator role, and update the app using a custom docker image, with the API and a Rest Client or the Cloudron CLI(that work flawlessly with a CI/CD).
                              You should follow the idea of updating the image and not the software inside of it, when you containerize any app for cloudron, because they are the same principle applied to any docker install.

                              As I suggested, you could just set up a CI CD, and provide access to the GIT repo + the operator access to cloudron for reading logs and access the terminal, to your developer.
                              This allows you to update the app, keeping the advantage of cloudron for stability, security, and backup, ... and having that extra flexibility that you are asking for.

                              I know that is not what you expect as an answer, but cloudron is built with the idea of using an opinionated layout(for easy maintenance and stability), for DIY a solution, maybe Portainer is a better fit for the flexibility that it offers.

                              fbartelsF Offline
                              fbartelsF Offline
                              fbartels
                              App Dev
                              wrote on last edited by
                              #13

                              @MooCloud_Matt said in Make it easier to use your own app:

                              and update the app

                              Ah, right. I was not considering that the user could use the cli with the operator role to update the app, but that would of course make sense.

                              And +1 for the ci/cd approach. Here it would not even matter what capabilities operators have for updating apps, since you could have one "global" token stored in your ci for pipelines to make use of.

                              Personally I am using Drone as my Cloudron based CI, the source for my instance is at https://github.com/fbartels/cloudron-drone-app

                              MooCloud_MattM 1 Reply Last reply
                              1
                              • fbartelsF fbartels

                                @MooCloud_Matt said in Make it easier to use your own app:

                                and update the app

                                Ah, right. I was not considering that the user could use the cli with the operator role to update the app, but that would of course make sense.

                                And +1 for the ci/cd approach. Here it would not even matter what capabilities operators have for updating apps, since you could have one "global" token stored in your ci for pipelines to make use of.

                                Personally I am using Drone as my Cloudron based CI, the source for my instance is at https://github.com/fbartels/cloudron-drone-app

                                MooCloud_MattM Offline
                                MooCloud_MattM Offline
                                MooCloud_Matt
                                wrote on last edited by
                                #14

                                we use Gilab CI/CD, but even n8n can be used as a ci/cd if you want to use no code.

                                Matteo. R.
                                Founder and Tech-Support Manager.
                                MooCloud MSP
                                Swiss Managed Service Provider

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