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. Announcements
  3. What's coming in 6.0 (take 2)

What's coming in 6.0 (take 2)

Scheduled Pinned Locked Moved Announcements
142 Posts 22 Posters 70.1k Views 24 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.
  • girishG girish

    @jdaviescoates said in What's coming in 6.0 (take 2):

    So Hetzner storage boxes likely a no no for volumes (I guess I'll cancel the one I've just ordered, or just use it for backups)

    So, there's two kinds of storages:

    • Data Directory - This is a location used by the app and only the app uses it exclusively. The app will store say attachments, profile pics, avatars, plugin code and whatever it needs in this directory. Data directory has to be ext4 because the packaging code requires file system permissions to work etc. This is the location you specify in https://docs.cloudron.io/storage/#app-data-directory . You can think of this app as part of an app's "state" (just like the database) and it is thus backed up and restored.

    • External Directory/Volumes - This location can be any file system. Mostly the app just reads file (docs, music, movies etc) from this. So the permissions don't matter. It is also expected that these directories can be shared across apps. This is similar to the home directory on linux or My Documents on Windows. It's just separate directory that apps have access to. If you uninstall, backup apps, that folder is untouched. For these kind of directories, the file system type is not relevant. It can be anything - sshfs, cifs, ext2 whatever.

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

    @girish OK, thanks, that's clearer.

    However, some of the music streaming apps etc like Navidrome (which is what I thought I'd use a Hetzner Storage box CIFS for) can have users with different permissions too, so still not sure if that'll be possible? 🙂

    Although the way I'd actually want to use it is that only one person (me) will be able to upload music, and all other users will just have read access, so I guess that could work fine? 🙂

    I use Cloudron with Gandi & Hetzner

    girishG 1 Reply Last reply
    0
    • jdaviescoatesJ jdaviescoates

      @girish OK, thanks, that's clearer.

      However, some of the music streaming apps etc like Navidrome (which is what I thought I'd use a Hetzner Storage box CIFS for) can have users with different permissions too, so still not sure if that'll be possible? 🙂

      Although the way I'd actually want to use it is that only one person (me) will be able to upload music, and all other users will just have read access, so I guess that could work fine? 🙂

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

      @jdaviescoates said in What's coming in 6.0 (take 2):

      However, some of the music streaming apps etc like Navidrome (which is what I thought I'd use a Hetzner Storage box CIFS for) can have users with different permissions too, so still not sure if that'll be possible?

      Yes, definitely possible. App users are entirely different from file system permissions. Without getting too technical, users inside an app are just "virtual users". They just exist inside the app's database.

      jdaviescoatesJ 1 Reply Last reply
      2
      • girishG girish

        @jdaviescoates said in What's coming in 6.0 (take 2):

        However, some of the music streaming apps etc like Navidrome (which is what I thought I'd use a Hetzner Storage box CIFS for) can have users with different permissions too, so still not sure if that'll be possible?

        Yes, definitely possible. App users are entirely different from file system permissions. Without getting too technical, users inside an app are just "virtual users". They just exist inside the app's database.

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

        @girish OK!

        So maybe I will start uploading my 290GB of music up to my new 500GB Hetzner Storage Box to use like this as soon as 6.0 goes live! 😄

        I use Cloudron with Gandi & Hetzner

        1 Reply Last reply
        2
        • girishG girish

          We are continuing to work on getting many more of the apps published, see the WIP tag. Thanks to the community for really helping us out here!

          Features planned for 6.0:

          • Ubuntu Focal 20.04 support
          • Mailbox sharing - we tried IMAP based mailbox sharing but this doesn't work well for the apps we have. We will instead make it such that a single mailbox can have multiple owners.
          • Optimize WP and Nextcloud installations. This is not directly related to box code but we want to speeden things up and optimize the configs since we have a large number of installs with these 2 apps. @MooCloud_Matt has given us a lot of ideas to work with here.
          • Mail - Full text search via IMAP (solr integration)
          • Volume management - this will allow mounting paths on the host into apps.
          • i18n

          We removed the unified dashboard for now. @nebulon and I think it will take a good 1-2 months to implement and test and we want to keep the releases going. We will start implementing unified dashboard in a branch.

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

          @girish said in What's coming in 6.0 (take 2):

          see the WIP tag

          Oooh, just looked at that for the first time in a while and I see BigBlueButton and Jitsi Meet are included... who is actively working on them atm, is it you @girish @nebulon ? 🙂

          Cloudron 6.0 with full text email search, volumes and BBB/ Jitsi would be SO awesome! (loving all the new music/ media apps too!)

          I use Cloudron with Gandi & Hetzner

          1 Reply Last reply
          0
          • mehdiM Offline
            mehdiM Offline
            mehdi
            App Dev
            wrote on last edited by
            #71

            Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

            LonkleL girishG 2 Replies Last reply
            2
            • mehdiM mehdi

              Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

              LonkleL Offline
              LonkleL Offline
              Lonkle
              wrote on last edited by
              #72

              @mehdi said in What's coming in 6.0 (take 2):

              Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

              Did your River app combine those apps with an added external storage connection bit?

              1 Reply Last reply
              0
              • mehdiM Offline
                mehdiM Offline
                mehdi
                App Dev
                wrote on last edited by mehdi
                #73

                @lonk It combines Jellyfin (for which there's already an app now), Transmission, SickChill, Couchpotato (the 3 I just mentioned), a custom file manager (built before Cloudron had one), and a custom TV Shows and Movies streaming interface (built before I integrated Jellyfin). Plus a few custom things, like a script to auto-remove finished torrents on transmission, and a script to auto-convert videos to MP4 for easy streaming in the browser (for my custom streaming interface. I disabled it now that I mainly use jellyfin, which handles this automatically).

                1 Reply Last reply
                5
                • mehdiM mehdi

                  Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

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

                  @mehdi said in What's coming in 6.0 (take 2):

                  Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

                  When you have time, please split them out and I can start approving them as unstable already. It also gives me a good test bed to test the volumes stuff across apps and permissions.

                  mehdiM 1 Reply Last reply
                  3
                  • girishG girish

                    @mehdi said in What's coming in 6.0 (take 2):

                    Once there are proper Volumes, my River app won't have too much reason to exist, so you can expect a few other apps soon after 6.0 release as I split river into independent apps (namely SickChill, CouchPotato, and Transmission)

                    When you have time, please split them out and I can start approving them as unstable already. It also gives me a good test bed to test the volumes stuff across apps and permissions.

                    mehdiM Offline
                    mehdiM Offline
                    mehdi
                    App Dev
                    wrote on last edited by
                    #75

                    @girish said in What's coming in 6.0 (take 2):

                    When you have time, please split them out and I can start approving them as unstable already.

                    OK, will do. I will have to pick your brain a little about how to handle authentication for these apps. In river, they're behind a custom auth proxy, as they don't handle auth by themselves.

                    girishG 1 Reply Last reply
                    1
                    • mehdiM mehdi

                      @girish said in What's coming in 6.0 (take 2):

                      When you have time, please split them out and I can start approving them as unstable already.

                      OK, will do. I will have to pick your brain a little about how to handle authentication for these apps. In river, they're behind a custom auth proxy, as they don't handle auth by themselves.

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

                      @mehdi said in What's coming in 6.0 (take 2):

                      OK, will do. I will have to pick your brain a little about how to handle authentication for these apps.

                      Would it make sense to bring that into box code somehow? Maybe we add some flag in the manifest to turn on this "authentication wall".

                      @nebulon Is it possible to have a login screen like the surfer app but served from box code? I guess session management possibly won't work since app has no clue about this? Maybe logout won't work as well since there is no logout button in the app.

                      mehdiM 1 Reply Last reply
                      0
                      • girishG girish

                        @mehdi said in What's coming in 6.0 (take 2):

                        OK, will do. I will have to pick your brain a little about how to handle authentication for these apps.

                        Would it make sense to bring that into box code somehow? Maybe we add some flag in the manifest to turn on this "authentication wall".

                        @nebulon Is it possible to have a login screen like the surfer app but served from box code? I guess session management possibly won't work since app has no clue about this? Maybe logout won't work as well since there is no logout button in the app.

                        mehdiM Offline
                        mehdiM Offline
                        mehdi
                        App Dev
                        wrote on last edited by
                        #77

                        @girish said in What's coming in 6.0 (take 2):

                        Would it make sense to bring that into box code somehow? Maybe we add some flag in the manifest to turn on this "authentication wall".

                        It would be possible yeah. An other possibility would be to have a standard way to do it in the "base image", to make it easy to implement in the apps that need it. I would probably go with the "base image" path, because it would be easier to configure on an app level IMO.

                        girishG 1 Reply Last reply
                        0
                        • mehdiM mehdi

                          @girish said in What's coming in 6.0 (take 2):

                          Would it make sense to bring that into box code somehow? Maybe we add some flag in the manifest to turn on this "authentication wall".

                          It would be possible yeah. An other possibility would be to have a standard way to do it in the "base image", to make it easy to implement in the apps that need it. I would probably go with the "base image" path, because it would be easier to configure on an app level IMO.

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

                          @mehdi Good idea. Maybe then for the moment we can copy/paste apache configs in every app (like https://git.cloudron.io/cloudron/simple-torrent-app/-/blob/master/apache/cloud-torrent.conf ) for now and once we have a something common, I can try to put it in the next base image.

                          LonkleL 1 Reply Last reply
                          0
                          • girishG girish

                            @mehdi Good idea. Maybe then for the moment we can copy/paste apache configs in every app (like https://git.cloudron.io/cloudron/simple-torrent-app/-/blob/master/apache/cloud-torrent.conf ) for now and once we have a something common, I can try to put it in the next base image.

                            LonkleL Offline
                            LonkleL Offline
                            Lonkle
                            wrote on last edited by
                            #79

                            I really like that approach as well. I'll follow what you guys create and what changes occur to the base image! ☺️

                            1 Reply Last reply
                            0
                            • nebulonN Offline
                              nebulonN Offline
                              nebulon
                              Staff
                              wrote on last edited by
                              #80

                              So the idea is to put some kind of "framework" into the base image, which can be used by apps? Wouldn't that anyways still not mean that an app needs to be patched for at least the logout action? Also would we do this as a php set of features? I do like to not pull this into the platform code as such, as that does not increase dependency on that.

                              Alternately, we could certainly add a login screen served up with some kind of session. The question then, as already mentioned, is how to logout. We could provide the app with a logout link, still that needs patching the app to some extent.

                              mehdiM ei8fdbE 2 Replies Last reply
                              1
                              • nebulonN nebulon

                                So the idea is to put some kind of "framework" into the base image, which can be used by apps? Wouldn't that anyways still not mean that an app needs to be patched for at least the logout action? Also would we do this as a php set of features? I do like to not pull this into the platform code as such, as that does not increase dependency on that.

                                Alternately, we could certainly add a login screen served up with some kind of session. The question then, as already mentioned, is how to logout. We could provide the app with a logout link, still that needs patching the app to some extent.

                                mehdiM Offline
                                mehdiM Offline
                                mehdi
                                App Dev
                                wrote on last edited by
                                #81

                                @nebulon IMO the login part is much more important than the logout part. We can even do completely without the logout at all in the interface, with just a /logout URL that one would have to enter manually (if ever).

                                As to the precise tech to use, I already have a working version in Node.JS in river that I could isolate. If you guys prefer to re-do it in PHP instead or something else, it's your choice.

                                1 Reply Last reply
                                1
                                • nebulonN Offline
                                  nebulonN Offline
                                  nebulon
                                  Staff
                                  wrote on last edited by
                                  #82

                                  Right, I was only bringing up php since that might be more commonly already be used within such apps, I would prefer a nodejs solution though. Maybe we can collect some arguments for and against adding to the base image or into the platform.

                                  If we add it to the platform, we could have it more easily streamlined with the Cloudron look and feel, however within the base image the app could style it more towards its own look and feel. Putting it in the platform on the other hand would allow support translation now once it fully landed. Also say we use a nodejs based version, then we have to keep running an additional process with possibly another proxy even?

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

                                    Just pointing out that this might be better served by using something like a proper gateway and load balancing solution in front of the apps like Kong rather than NGINx on the box. An add-on for a basic auth screen could just be a config tweak to the box ingress which hits an auth wall - added advantage would be much more flexible routing to apps (sub-path, etc.) and flexible options like having multiple DNS names resolving to the straight A record for things like apps that can serve multiple domain names off one instance.

                                    MooCloud_MattM 1 Reply Last reply
                                    3
                                    • robiR Offline
                                      robiR Offline
                                      robi
                                      wrote on last edited by
                                      #84

                                      Bringing in some service mesh concepts would be interesting.

                                      Conscious tech

                                      1 Reply Last reply
                                      0
                                      • jimcavoliJ jimcavoli

                                        Just pointing out that this might be better served by using something like a proper gateway and load balancing solution in front of the apps like Kong rather than NGINx on the box. An add-on for a basic auth screen could just be a config tweak to the box ingress which hits an auth wall - added advantage would be much more flexible routing to apps (sub-path, etc.) and flexible options like having multiple DNS names resolving to the straight A record for things like apps that can serve multiple domain names off one instance.

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

                                        @jimcavoli
                                        You mean to use Kong or Traefik (this are exeple) as incoming proxy for every container ?

                                        If yes, we need to consider how reliable is Nginx and the feature that can be easily added (Proxy_Cache, brotli, WAF, ...)

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

                                        jimcavoliJ 1 Reply Last reply
                                        0
                                        • MooCloud_MattM MooCloud_Matt

                                          @jimcavoli
                                          You mean to use Kong or Traefik (this are exeple) as incoming proxy for every container ?

                                          If yes, we need to consider how reliable is Nginx and the feature that can be easily added (Proxy_Cache, brotli, WAF, ...)

                                          jimcavoliJ Offline
                                          jimcavoliJ Offline
                                          jimcavoli
                                          App Dev
                                          wrote on last edited by
                                          #86

                                          @moocloud_matt yeah, there's currently a box level NGINx proxy - my idea is to replace that with a very hand-wavy something else which may be capable of shimming authentication for those things that just don't have it inbuilt (Kong) or if we go a different route on that sort of thing, we could use Traefik or similar at that layer. I think the use cases are intriguing enough to at least try the Kong route and fall back to something like Traefik if need be

                                          MooCloud_MattM 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