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. Chevereto

Chevereto

Scheduled Pinned Locked Moved App Wishlist
39 Posts 9 Posters 5.0k Views 11 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.
    • nebulonN Offline
      nebulonN Offline
      nebulon
      Staff
      wrote on last edited by
      #1

      I'd like chevereto added if possible, please. 😄

      1 Reply Last reply
      6
      • 5 Offline
        5 Offline
        517yykk
        wrote on last edited by
        #2

        looks like Chevereto is a must! a really nice image cloud solution!:)

        1 Reply Last reply
        1
        • jimcavoliJ Offline
          jimcavoliJ Offline
          jimcavoli
          App Dev
          wrote on last edited by
          #3

          https://chevereto.com for those looking for the link

          1 Reply Last reply
          2
          • rodberR Offline
            rodberR Offline
            rodber
            wrote on last edited by
            #4

            I make chevereto, there's an open source edition https://github.com/chevereto/chevereto-free

            Let me know what I can do to help in the process.

            nebulonN timconsidineT 2 Replies Last reply
            9
            • rodberR rodber

              I make chevereto, there's an open source edition https://github.com/chevereto/chevereto-free

              Let me know what I can do to help in the process.

              nebulonN Offline
              nebulonN Offline
              nebulon
              Staff
              wrote on last edited by
              #5

              @rodber great to have you here then. Any reason you suggest the free version over your main supported one? Would be awesome to have the full version also available for interested users.

              We will be happy to work with you to get a package done, usually it is easier when we have a contact within the upstream app team.

              rodberR 1 Reply Last reply
              2
              • rodberR rodber

                I make chevereto, there's an open source edition https://github.com/chevereto/chevereto-free

                Let me know what I can do to help in the process.

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

                @rodber very nice app, looks great !

                1 Reply Last reply
                2
                • nebulonN nebulon

                  @rodber great to have you here then. Any reason you suggest the free version over your main supported one? Would be awesome to have the full version also available for interested users.

                  We will be happy to work with you to get a package done, usually it is easier when we have a contact within the upstream app team.

                  rodberR Offline
                  rodberR Offline
                  rodber
                  wrote on last edited by
                  #7

                  @nebulon Thanks for the welcome, I don't have any reason besides that the Open Source edition doesn't have the paywall so it feels like a more straightforward approach for the new user. Both editions run on the exact same stack, I've some live demo right here: https://github.com/chevereto/docker as I've been optimizing support for containers lately.

                  What I'm trying to do is to provide servicing using container layers and sit the application as a project folder. That way the application manages itself its updating and the user can carry their modifications, I will be happy to review alternatives and share different strategies.

                  nebulonN 1 Reply Last reply
                  7
                  • rodberR rodber

                    @nebulon Thanks for the welcome, I don't have any reason besides that the Open Source edition doesn't have the paywall so it feels like a more straightforward approach for the new user. Both editions run on the exact same stack, I've some live demo right here: https://github.com/chevereto/docker as I've been optimizing support for containers lately.

                    What I'm trying to do is to provide servicing using container layers and sit the application as a project folder. That way the application manages itself its updating and the user can carry their modifications, I will be happy to review alternatives and share different strategies.

                    nebulonN Offline
                    nebulonN Offline
                    nebulon
                    Staff
                    wrote on last edited by
                    #8

                    @rodber I just tried to install it in our LAMP app package to see how much effort it might be to create a proper pre-installed package, but for some reason the instructions at https://v3-docs.chevereto.com/get-started/installation.html#installer-recommended are not working as expected. Not sure if this is due to our LAMP package or otherwise. It is not clear to me if I should visit /install or /installer or /installer.php after running the two installer.php commands in the terminal.

                    Whatever I open in the browser, I get the following message:
                    "Chevereto can't create the app/settings.php file. You must manually create this file."

                    Do you have any hint how to overcome this?

                    rodberR 1 Reply Last reply
                    1
                    • nebulonN nebulon

                      @rodber I just tried to install it in our LAMP app package to see how much effort it might be to create a proper pre-installed package, but for some reason the instructions at https://v3-docs.chevereto.com/get-started/installation.html#installer-recommended are not working as expected. Not sure if this is due to our LAMP package or otherwise. It is not clear to me if I should visit /install or /installer or /installer.php after running the two installer.php commands in the terminal.

                      Whatever I open in the browser, I get the following message:
                      "Chevereto can't create the app/settings.php file. You must manually create this file."

                      Do you have any hint how to overcome this?

                      rodberR Offline
                      rodberR Offline
                      rodber
                      wrote on last edited by rodber
                      #9

                      @nebulon I was able to play a litte bit, it seems that it will be trivial to get it running: https://chevereto-lamp.demo.cloudron.io/

                      Running these from app/data/public folder:

                      wget -O installer.php https://chevereto.com/download/file/installer
                      
                      php installer.php -a download -s chevereto-free
                      
                      php installer.php -a extract -s chevereto-free -f chevereto-pkg-*.zip -p .
                      
                      php installer.php -a createSettings \
                          -h=${CLOUDRON_MYSQL_HOST} \
                          -p 3306 \
                          -n=${CLOUDRON_MYSQL_DATABASE} \
                          -u=${CLOUDRON_MYSQL_USERNAME} \
                          -x=${CLOUDRON_MYSQL_PASSWORD} \
                          -f app/settings.php
                      
                      php installer.php -a submitInstallForm \
                          -w http://localhost/ \
                          -u user -e user@hostname.loc \
                          -x password \
                          -f from@hostname.loc \
                          -i inbox@hostname.loc \
                          -m community
                      
                      rm -rf installer.php
                      

                      My installer has a CLI API, I've updated the documentation today.

                      https://github.com/chevereto/installer

                      nebulonN 1 Reply Last reply
                      4
                      • rodberR rodber

                        @nebulon I was able to play a litte bit, it seems that it will be trivial to get it running: https://chevereto-lamp.demo.cloudron.io/

                        Running these from app/data/public folder:

                        wget -O installer.php https://chevereto.com/download/file/installer
                        
                        php installer.php -a download -s chevereto-free
                        
                        php installer.php -a extract -s chevereto-free -f chevereto-pkg-*.zip -p .
                        
                        php installer.php -a createSettings \
                            -h=${CLOUDRON_MYSQL_HOST} \
                            -p 3306 \
                            -n=${CLOUDRON_MYSQL_DATABASE} \
                            -u=${CLOUDRON_MYSQL_USERNAME} \
                            -x=${CLOUDRON_MYSQL_PASSWORD} \
                            -f app/settings.php
                        
                        php installer.php -a submitInstallForm \
                            -w http://localhost/ \
                            -u user -e user@hostname.loc \
                            -x password \
                            -f from@hostname.loc \
                            -i inbox@hostname.loc \
                            -m community
                        
                        rm -rf installer.php
                        

                        My installer has a CLI API, I've updated the documentation today.

                        https://github.com/chevereto/installer

                        nebulonN Offline
                        nebulonN Offline
                        nebulon
                        Staff
                        wrote on last edited by
                        #10

                        @rodber ah perfect! I will see if putting that into a Cloudron package can get us somewhere quick and then we can work together to make it solid 🙂

                        rodberR 1 Reply Last reply
                        3
                        • nebulonN nebulon

                          @rodber ah perfect! I will see if putting that into a Cloudron package can get us somewhere quick and then we can work together to make it solid 🙂

                          rodberR Offline
                          rodberR Offline
                          rodber
                          wrote on last edited by rodber
                          #11

                          I've created a installer shell script, this will ease the provisioning a lot.

                          cd ../data/public
                          
                          curl -sSL https://raw.githubusercontent.com/chevereto/shell/main/chevereto-free.sh | sudo bash -s -- \
                              -h ${CLOUDRON_MYSQL_HOST} \
                              -p ${CLOUDRON_MYSQL_PORT} \
                              -n ${CLOUDRON_MYSQL_DATABASE} \
                              -u ${CLOUDRON_MYSQL_USERNAME} \
                              -x ${CLOUDRON_MYSQL_PASSWORD} \
                              -w http://localhost/ \
                              -A admin \
                              -E admin@localhost.loc \
                              -X password \
                              -f ${CLOUDRON_MAIL_FROM} \
                              -i inbox@localhost.loc \
                              -m community
                          

                          ^^^ You need to customize the -A -E -X and -i options.

                          The repo is here: https://github.com/chevereto/shell

                          nebulonN 1 Reply Last reply
                          2
                          • rodberR rodber

                            I've created a installer shell script, this will ease the provisioning a lot.

                            cd ../data/public
                            
                            curl -sSL https://raw.githubusercontent.com/chevereto/shell/main/chevereto-free.sh | sudo bash -s -- \
                                -h ${CLOUDRON_MYSQL_HOST} \
                                -p ${CLOUDRON_MYSQL_PORT} \
                                -n ${CLOUDRON_MYSQL_DATABASE} \
                                -u ${CLOUDRON_MYSQL_USERNAME} \
                                -x ${CLOUDRON_MYSQL_PASSWORD} \
                                -w http://localhost/ \
                                -A admin \
                                -E admin@localhost.loc \
                                -X password \
                                -f ${CLOUDRON_MAIL_FROM} \
                                -i inbox@localhost.loc \
                                -m community
                            

                            ^^^ You need to customize the -A -E -X and -i options.

                            The repo is here: https://github.com/chevereto/shell

                            nebulonN Offline
                            nebulonN Offline
                            nebulon
                            Staff
                            wrote on last edited by
                            #12

                            @rodber thanks, but actually I think this is a bit over the top for us here. At package building time, we don't have a dynamic data directory yet, nor do we have database connection.

                            Usually we build the package with the immutable bits/code into a docker image (those parts are further on read-only), then on app instance startup, we detect first run and do things like initial user creation. So I think what you previously posted is what we need.

                            To further explain like we handle things like app/settings.php in your case, the read-only package will contain a symlink which will only resolve once the app container is run. That then will resolve into a read-write mounted folder, which, alongside with the database dump, will be backed up and restored if need be.

                            Let me know if you have any questions around that, since it may be a bit unusual. We do this mainly to ensure proper ability for updates and security (one cannot tamper with the code php bits by design here)

                            rodberR 1 Reply Last reply
                            1
                            • nebulonN nebulon

                              @rodber thanks, but actually I think this is a bit over the top for us here. At package building time, we don't have a dynamic data directory yet, nor do we have database connection.

                              Usually we build the package with the immutable bits/code into a docker image (those parts are further on read-only), then on app instance startup, we detect first run and do things like initial user creation. So I think what you previously posted is what we need.

                              To further explain like we handle things like app/settings.php in your case, the read-only package will contain a symlink which will only resolve once the app container is run. That then will resolve into a read-write mounted folder, which, alongside with the database dump, will be backed up and restored if need be.

                              Let me know if you have any questions around that, since it may be a bit unusual. We do this mainly to ensure proper ability for updates and security (one cannot tamper with the code php bits by design here)

                              rodberR Offline
                              rodberR Offline
                              rodber
                              wrote on last edited by
                              #13

                              @nebulon sure, I understand. I have been updating things to make it compatible with the immutable realm. I need to tweak my installer to support tagged releases which at this time it only works with latest, I will work on that.

                              Most work is on the actual application code, my goal is 12-factor. Regarding the settings file I'm now using env, I've updated that recently https://v3-docs.chevereto.com/setup/system/settings-file.html

                              You can check the images here https://github.com/chevereto/docker is a live wip atm.

                              1 Reply Last reply
                              2
                              • rodberR Offline
                                rodberR Offline
                                rodber
                                wrote on last edited by
                                #14

                                Dear all,

                                I have crafted the official Docker provisioning for Chevereto. The images are available here: https://hub.docker.com/r/chevereto/chevereto

                                These provide httpd-php and php-fpm images with a bootstrap script that runs on container creation, so it installs the software once and just spawn services from there.

                                Let me know if this helps to get Chevereto on Cloudron.

                                nebulonN 1 Reply Last reply
                                1
                                • rodberR rodber

                                  Dear all,

                                  I have crafted the official Docker provisioning for Chevereto. The images are available here: https://hub.docker.com/r/chevereto/chevereto

                                  These provide httpd-php and php-fpm images with a bootstrap script that runs on container creation, so it installs the software once and just spawn services from there.

                                  Let me know if this helps to get Chevereto on Cloudron.

                                  nebulonN Offline
                                  nebulonN Offline
                                  nebulon
                                  Staff
                                  wrote on last edited by
                                  #15

                                  @rodber I've just finished the very basic initial Cloudron app package for it. It still does not pre-provision an admin account and it has to symlink a few folders into the writeable directories, this is based purely on what the app complained about, I dont' really know if, why and when they have to be written by the app https://git.cloudron.io/cloudron/cheveretofree-app/-/blob/master/Dockerfile#L32

                                  If you want to test this, just clone that repo and run cloudron build && cloudron install essentially. Well of course only if you have the cloudron cli setup 😉

                                  Since in Cloudron the database only becomes active when the app is initialized but we still want all static assets to be part of the image, I wasn't quite sure how to use the installer.php script only for the initial admin setup.

                                  rodberR 1 Reply Last reply
                                  1
                                  • nebulonN nebulon

                                    @rodber I've just finished the very basic initial Cloudron app package for it. It still does not pre-provision an admin account and it has to symlink a few folders into the writeable directories, this is based purely on what the app complained about, I dont' really know if, why and when they have to be written by the app https://git.cloudron.io/cloudron/cheveretofree-app/-/blob/master/Dockerfile#L32

                                    If you want to test this, just clone that repo and run cloudron build && cloudron install essentially. Well of course only if you have the cloudron cli setup 😉

                                    Since in Cloudron the database only becomes active when the app is initialized but we still want all static assets to be part of the image, I wasn't quite sure how to use the installer.php script only for the initial admin setup.

                                    rodberR Offline
                                    rodberR Offline
                                    rodber
                                    wrote on last edited by rodber
                                    #16

                                    @nebulon my bootstrap script gets you until the install form where the user will be prompt under HTTP to submit account details to proceed with the installation. It doesn't carry the installation as that process has account limitations (password length enforcement, forbidden usernames) but if you want to automate that bit you could simply detect the first run based on the container placeholder and execute the submitInstall installer command.

                                    The installation at that step is just build the database, it doesn't touch the filesystem. As you may noticed, I left the installer.php available to use it as tooling on top of the images 😉 look at /chevereto folder in the container.

                                    I suggest you to implement Chevereto on Cloudron using/forking my Docker images as I will constantly maintaining it, specially in regards to the PHP provisioning. That's why I provide separately Apache and PHP-FPM images, so you stop worrying about PHP regardless which flavor you like better. Use php-fpm if you want to handle the server, simply plug the process. Use Apache HTTP if you want to rely in mod_php.

                                    Regarding your implementation, I can't recommend to use linking for the app/settings.php file, I recommend you to use env variables for that purpose. If user needs to sneak a setting it should be made by overriding the env variables, not working on the same file used for app/settings.php dist. If the user needs to add something at "settings level" it should be made with a file made for that sole purpose.

                                    1 Reply Last reply
                                    1
                                    • rodberR Offline
                                      rodberR Offline
                                      rodber
                                      wrote on last edited by
                                      #17

                                      Hey there, I've some great news.

                                      We now have a container builder repository, here: https://github.com/chevereto/container-builder

                                      What it does is that it uses github infra to build your own Chevereto paid edition image and upload it to the container registry of your choice. From there you can run your Chevereto image anywhere.

                                      Does Cloudron allow users to provide their own container images? If that's feasible our paid users could use your panel 😉

                                      Let me know if you want more details about this.

                                      nebulonN 1 Reply Last reply
                                      0
                                      • rodberR rodber

                                        Hey there, I've some great news.

                                        We now have a container builder repository, here: https://github.com/chevereto/container-builder

                                        What it does is that it uses github infra to build your own Chevereto paid edition image and upload it to the container registry of your choice. From there you can run your Chevereto image anywhere.

                                        Does Cloudron allow users to provide their own container images? If that's feasible our paid users could use your panel 😉

                                        Let me know if you want more details about this.

                                        nebulonN Offline
                                        nebulonN Offline
                                        nebulon
                                        Staff
                                        wrote on last edited by
                                        #18

                                        @rodber thanks for sharing this. Cloudron does support to install custom images, but this is currently more targeted at app developers during package development and testing. So the flow is not ideal for regular users.

                                        I haven't looked in more detail what is involved to get the paid version, is the paid version a different code-base or just a matter of supplying a license in a specific file?
                                        If it is the latter, then we can likely build the package in a way that the user can provide a purchased license, which would also allow for easier migration from free to paid without having to migrate previously added pictures.

                                        rodberR 1 Reply Last reply
                                        0
                                        • nebulonN nebulon

                                          @rodber thanks for sharing this. Cloudron does support to install custom images, but this is currently more targeted at app developers during package development and testing. So the flow is not ideal for regular users.

                                          I haven't looked in more detail what is involved to get the paid version, is the paid version a different code-base or just a matter of supplying a license in a specific file?
                                          If it is the latter, then we can likely build the package in a way that the user can provide a purchased license, which would also allow for easier migration from free to paid without having to migrate previously added pictures.

                                          rodberR Offline
                                          rodberR Offline
                                          rodber
                                          wrote on last edited by rodber
                                          #19

                                          @nebulon paid version is a different code base but it works with the same system requirements. One way to provide it is by each user creating its own image.

                                          The alternative is this, the bootstrap version: https://github.com/chevereto/docker which you can upgrade, the application is just mapped to a local bind dir.

                                          1 Reply Last reply
                                          1
                                          • rodberR Offline
                                            rodberR Offline
                                            rodber
                                            wrote on last edited by
                                            #20

                                            I think that I will just write a guide on my docs on how to deploy the custom Chevereto image. I feel that my intervention here is going nowhere... I just noticed that I went from bootstrap to container registry and now again we are talking about bootstrap.

                                            I've the code and will, you know where to reach me. I'm always available.

                                            Thanks anyway.

                                            nebulonN 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