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


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Make it easier to use your own app

    Feature Requests
    7
    14
    439
    Loading More Posts
    • 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
      ekevu123 last edited by

      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 Reply Quote 0
      • subven
        subven last edited by

        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 Reply Quote 0
        • E
          ekevu123 @subven last edited by

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

          timconsidine 1 Reply Last reply Reply Quote 0
          • timconsidine
            timconsidine App Dev @ekevu123 last edited by

            @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 Reply Quote 1
            • girish
              girish Staff last edited by

              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_Matt 1 Reply Last reply Reply Quote 0
              • MooCloud_Matt
                MooCloud_Matt @girish last edited by

                @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 jdaviescoates 2 Replies Last reply Reply Quote 0
                • E
                  ekevu123 @MooCloud_Matt last edited by

                  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.
                  fbartels 1 Reply Last reply Reply Quote 0
                  • jdaviescoates
                    jdaviescoates @MooCloud_Matt last edited by

                    @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_Matt 1 Reply Last reply Reply Quote 1
                    • fbartels
                      fbartels App Dev @ekevu123 last edited by

                      @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 Reply Quote 2
                      • MooCloud_Matt
                        MooCloud_Matt @jdaviescoates last edited by

                        @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 Reply Quote 1
                        • E
                          ekevu123 @fbartels last edited by

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

                          MooCloud_Matt 1 Reply Last reply Reply Quote 0
                          • MooCloud_Matt
                            MooCloud_Matt @ekevu123 last edited by

                            @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

                            fbartels 1 Reply Last reply Reply Quote 3
                            • fbartels
                              fbartels App Dev @MooCloud_Matt last edited by

                              @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_Matt 1 Reply Last reply Reply Quote 1
                              • MooCloud_Matt
                                MooCloud_Matt @fbartels last edited by

                                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 Reply Quote 3
                                • First post
                                  Last post
                                Powered by NodeBB