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. Discuss
  3. How does Cloudron work? What does it do? etc :)

How does Cloudron work? What does it do? etc :)

Scheduled Pinned Locked Moved Discuss
48 Posts 8 Posters 8.2k Views 9 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.
  • P plusone-nick

    @jdaviescoates I have been messing around with a few "intro to cloudron" scripts, testing out OBS backdrops and mic settings. Will share a draft when I have a legit one compiled =] Hopefully sooner than later lol

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

    @plusone-nick nice, looking forward to seeing it, thanks

    I use Cloudron with Gandi & Hetzner

    1 Reply Last reply
    0
    • jdaviescoatesJ jdaviescoates

      I just watch the video linked above (after using OpenShot video to rotate it 90 degrees to the left to avoid getting a crook neck!) here are my notes:

      Benefits of Cloudron

      Quick and Easy to install and configure properly apps on your own domains
      Easy to update
      Easy to maintain
      Secure by default
      Control of your data - you know and decide where it is stored, and who and how the data can be accessed

      Selfhosting = you deploy apps on servers of your choosing

      DNS management and SSL certificates all sorted using LetsEncrypt

      Convenience of SaaS with the control of a private cloud

      • with a user experience similar to what people are now used to with their smart phones - everyone can easyily install apps from the app store and apps are automatically updated - we don't have to maintain our phones, it just works.

      Smart phone -> Smart server

      Full Email server built in!!!

      Can easily move (or clone) apps from one domain to another

      == Architecture: ==

      Cloudron is install on the server
      Apps are listed from Cloudron's App Store
      Cloudron install the App (it's not something the App Store does)
      Cloudron periodically checks for updates
      Each Cloudron installation is independent and private. Cloudron don't have access to the server. They just provie the App Store list and provide updates for apps

      == Anatomy of an app ==

      2 parts:

      1. Docker based packaging
      • dependency management (differnt apps require different versions of PHP, Ruby, whatever Docker lets you package them all together in a single package)
      • Static configuration (decision about whether to use nginx or apache etc are taken care of)
      • Density (used to have to use one virtual machine for each app, with Docker you can have loads of differnt apps on one server in containers)
      1. Mainfest file (information about the things the app needs to run)
      • Addons: which database to use (MySql, Postgres, etc), Auth, Email
      • Port bindings
      • Version: Title, Icon, Description, Author

      == App Store ==

      Just like Google Play story, Appple app store

      • its just a Distribution mechanism, doesn't have access to the server.
      • holds manifest meta data (what apps needs to run)
      • versioning information

      All the app packages are open source, so you

      (not relevant for selfhost.cloud but it handles Dynamic DNS for people hosting at home)

      == The Platform (the bit that is running on your server) ==

      Very similar to Heroku - you can give it code and it'll run it for you

      • Each addon is a micro-service (and can say, this app needs mysql server, this app needs to be able to send email etc)
      • Addon access credentials as env var (environment variables)

      (ask Girish for the slides)

      All the addons (databases, email etc) are running in their own Docker containers and operate like mirco-services, you can ask them to create/ destroy databases etc.

      == App Lifecycle ==

      • Install
        -- Configure DNS
        -- Downloads docker image and manifest file from the Cloudron app store
        -- Sets up addons
        -- Logrotate, Collect (stats about the app, how much CPU, memory it using etc), Firewall
        -- Runs the docker container
        --- Dynamic configuration (giving the app db credentials, SMTP credentials to send email, e.g. for WordPress it creates the wp-config.php file with all the relevant credentials)
        -- Gets SSL certificates from LetsEncrypt (and set-up reverse proxy, i.e. when blog.domain.com is visited forward to this container)

      • Updates
        -- Read only and stateless app containers (all apps are read only - apps cannot write to their file system, if they could then users could add all sorts of random files and it wouldn't be possible to update smoothly, the code cannot be modified. This means when there is an update we can just throw away the old container and get in the new container. So where does the app write stuff it needs to? We let the app write in 3 locations 1) /tmp for temporary files 2) /run which contains runtime files which an app needs to communication across various processes, 3) app/data/ where the app will put images, files uploaded etc - everything in app data is part of the backup, /tmp and /run is not backed up)
        -- Rolling updates
        -- Signed releases
        -- Selenium based tests (test that everything actually still works)

      == Maintainence ==

      • Backups
        -- Per app backups (means you can roll back just that app instead of all the apps on the server, like would happen if you just rolled back to the server snapshot).
        -- Backup only addon data (don't need to back up the docker container because it's read only, nothing has change, only need to back up databases etc, plus the /app/data directory)
        -- Apps can be trivially cloned and rolled back
        -- Can be stored offsite to S3, DO Spaces, etc

      • Alerts
        -- Email notifications

      == Security ==

      • Turn-key security
      • HTTPS only
      • SSL, HSTS
      • App isolation and sandboxed (apps can only access their databases etc, not the other databases etc)
      • Rate limits, Activity logs (built in standard security practices e.g. Rate limtes: if people try to login too quickly, login from a new device etc, Activity logs: everything that happening on the system, who is doing what)
      • Signed releases
      • More info at https://docs.cloudron.io/security/

      Who are Cloudron customers:

      20-30% individuals
      20-30% tech startups
      universities (but they have differnt pricing structures)
      very popular with ngos and cooperatives, in Europe (France, Germany) - ha! Girish described co-ops as new! hehe
      also resellers and hosting providers

      @thetomester13 a slight red flag re our Selfhost.Cloud plans - Cloudron started off providing managed Cloudron, but users wanted to install it on their own servers - still, I think they are likely still plenty of people who would like it as a service too. Just like people still sometimes pay me to create selfhosted WordPress sites for them and still use WordPress.com even those self-hosting WordPress is really easy.

      @girish do you still have the slides you used in the talk? could you perhaps share them here? (even though I've more or less transcribed them plus added a load of stuff you said that isn't on the slides) Thanks!

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

      @jdaviescoates I rotated the video now and uploaded it to https://videos.cloudron.io/videos/watch/79a34d05-a60b-4ec3-9327-fd736016494c 🙂

      robiR jdaviescoatesJ 2 Replies Last reply
      3
      • jdaviescoatesJ jdaviescoates

        I just watch the video linked above (after using OpenShot video to rotate it 90 degrees to the left to avoid getting a crook neck!) here are my notes:

        Benefits of Cloudron

        Quick and Easy to install and configure properly apps on your own domains
        Easy to update
        Easy to maintain
        Secure by default
        Control of your data - you know and decide where it is stored, and who and how the data can be accessed

        Selfhosting = you deploy apps on servers of your choosing

        DNS management and SSL certificates all sorted using LetsEncrypt

        Convenience of SaaS with the control of a private cloud

        • with a user experience similar to what people are now used to with their smart phones - everyone can easyily install apps from the app store and apps are automatically updated - we don't have to maintain our phones, it just works.

        Smart phone -> Smart server

        Full Email server built in!!!

        Can easily move (or clone) apps from one domain to another

        == Architecture: ==

        Cloudron is install on the server
        Apps are listed from Cloudron's App Store
        Cloudron install the App (it's not something the App Store does)
        Cloudron periodically checks for updates
        Each Cloudron installation is independent and private. Cloudron don't have access to the server. They just provie the App Store list and provide updates for apps

        == Anatomy of an app ==

        2 parts:

        1. Docker based packaging
        • dependency management (differnt apps require different versions of PHP, Ruby, whatever Docker lets you package them all together in a single package)
        • Static configuration (decision about whether to use nginx or apache etc are taken care of)
        • Density (used to have to use one virtual machine for each app, with Docker you can have loads of differnt apps on one server in containers)
        1. Mainfest file (information about the things the app needs to run)
        • Addons: which database to use (MySql, Postgres, etc), Auth, Email
        • Port bindings
        • Version: Title, Icon, Description, Author

        == App Store ==

        Just like Google Play story, Appple app store

        • its just a Distribution mechanism, doesn't have access to the server.
        • holds manifest meta data (what apps needs to run)
        • versioning information

        All the app packages are open source, so you

        (not relevant for selfhost.cloud but it handles Dynamic DNS for people hosting at home)

        == The Platform (the bit that is running on your server) ==

        Very similar to Heroku - you can give it code and it'll run it for you

        • Each addon is a micro-service (and can say, this app needs mysql server, this app needs to be able to send email etc)
        • Addon access credentials as env var (environment variables)

        (ask Girish for the slides)

        All the addons (databases, email etc) are running in their own Docker containers and operate like mirco-services, you can ask them to create/ destroy databases etc.

        == App Lifecycle ==

        • Install
          -- Configure DNS
          -- Downloads docker image and manifest file from the Cloudron app store
          -- Sets up addons
          -- Logrotate, Collect (stats about the app, how much CPU, memory it using etc), Firewall
          -- Runs the docker container
          --- Dynamic configuration (giving the app db credentials, SMTP credentials to send email, e.g. for WordPress it creates the wp-config.php file with all the relevant credentials)
          -- Gets SSL certificates from LetsEncrypt (and set-up reverse proxy, i.e. when blog.domain.com is visited forward to this container)

        • Updates
          -- Read only and stateless app containers (all apps are read only - apps cannot write to their file system, if they could then users could add all sorts of random files and it wouldn't be possible to update smoothly, the code cannot be modified. This means when there is an update we can just throw away the old container and get in the new container. So where does the app write stuff it needs to? We let the app write in 3 locations 1) /tmp for temporary files 2) /run which contains runtime files which an app needs to communication across various processes, 3) app/data/ where the app will put images, files uploaded etc - everything in app data is part of the backup, /tmp and /run is not backed up)
          -- Rolling updates
          -- Signed releases
          -- Selenium based tests (test that everything actually still works)

        == Maintainence ==

        • Backups
          -- Per app backups (means you can roll back just that app instead of all the apps on the server, like would happen if you just rolled back to the server snapshot).
          -- Backup only addon data (don't need to back up the docker container because it's read only, nothing has change, only need to back up databases etc, plus the /app/data directory)
          -- Apps can be trivially cloned and rolled back
          -- Can be stored offsite to S3, DO Spaces, etc

        • Alerts
          -- Email notifications

        == Security ==

        • Turn-key security
        • HTTPS only
        • SSL, HSTS
        • App isolation and sandboxed (apps can only access their databases etc, not the other databases etc)
        • Rate limits, Activity logs (built in standard security practices e.g. Rate limtes: if people try to login too quickly, login from a new device etc, Activity logs: everything that happening on the system, who is doing what)
        • Signed releases
        • More info at https://docs.cloudron.io/security/

        Who are Cloudron customers:

        20-30% individuals
        20-30% tech startups
        universities (but they have differnt pricing structures)
        very popular with ngos and cooperatives, in Europe (France, Germany) - ha! Girish described co-ops as new! hehe
        also resellers and hosting providers

        @thetomester13 a slight red flag re our Selfhost.Cloud plans - Cloudron started off providing managed Cloudron, but users wanted to install it on their own servers - still, I think they are likely still plenty of people who would like it as a service too. Just like people still sometimes pay me to create selfhosted WordPress sites for them and still use WordPress.com even those self-hosting WordPress is really easy.

        @girish do you still have the slides you used in the talk? could you perhaps share them here? (even though I've more or less transcribed them plus added a load of stuff you said that isn't on the slides) Thanks!

        robiR Offline
        robiR Offline
        robi
        wrote on last edited by
        #16

        @jdaviescoates nicely done.

        What is the file size?

        Can you share with me the edited video, so I can post it to our new BayLISA.org YT channel?

        Perhaps over a FilePizza link or whatever works for you.

        Conscious tech

        1 Reply Last reply
        1
        • nebulonN nebulon

          @jdaviescoates I rotated the video now and uploaded it to https://videos.cloudron.io/videos/watch/79a34d05-a60b-4ec3-9327-fd736016494c 🙂

          robiR Offline
          robiR Offline
          robi
          wrote on last edited by
          #17

          @nebulon ooh, thank you, just saw this! I'll see if we can use this one.

          Conscious tech

          jdaviescoatesJ 1 Reply Last reply
          1
          • robiR robi

            @nebulon ooh, thank you, just saw this! I'll see if we can use this one.

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

            @robi yeah I think @nebulon has done a better job of rotating than I did. I guess he probably just used some command line tools? My file ended up over 3gb and had black space all around the edges.

            I use Cloudron with Gandi & Hetzner

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

              Indeed fyi I used:

              ffmpeg -i BayLISA-Cloudron.mp4 -vf "transpose=2" BayLISA-Cloudron-rotated.mp4
              

              the value 2 here is for 90° counter clock-wise, it took me 2 attempts to get the right value...happens when you don't read the docs 😉

              robiR 1 Reply Last reply
              2
              • nebulonN nebulon

                Indeed fyi I used:

                ffmpeg -i BayLISA-Cloudron.mp4 -vf "transpose=2" BayLISA-Cloudron-rotated.mp4
                

                the value 2 here is for 90° counter clock-wise, it took me 2 attempts to get the right value...happens when you don't read the docs 😉

                robiR Offline
                robiR Offline
                robi
                wrote on last edited by
                #20

                @nebulon How big was the file?

                Conscious tech

                nebulonN 1 Reply Last reply
                1
                • robiR robi

                  @nebulon How big was the file?

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

                  @robi 88MB looks like, the original was 180MB so I guess it also did some compression alongside. Overall the quality is not really stellar, but luckily the sound is fine.

                  robiR 1 Reply Last reply
                  2
                  • nebulonN nebulon

                    @robi 88MB looks like, the original was 180MB so I guess it also did some compression alongside. Overall the quality is not really stellar, but luckily the sound is fine.

                    robiR Offline
                    robiR Offline
                    robi
                    wrote on last edited by
                    #22

                    @nebulon great, check you email please 🙂

                    Conscious tech

                    1 Reply Last reply
                    1
                    • jdaviescoatesJ Offline
                      jdaviescoatesJ Offline
                      jdaviescoates
                      wrote on last edited by
                      #23

                      @staff is there a handy list of all the addons Cloudron currently has? Ideally with a brief description of what they do/ what they are for? Thanks

                      I use Cloudron with Gandi & Hetzner

                      mehdiM 1 Reply Last reply
                      0
                      • jdaviescoatesJ jdaviescoates

                        @staff is there a handy list of all the addons Cloudron currently has? Ideally with a brief description of what they do/ what they are for? Thanks

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

                        @jdaviescoates https://docs.cloudron.io/custom-apps/addons/

                        jdaviescoatesJ 1 Reply Last reply
                        2
                        • mehdiM mehdi

                          @jdaviescoates https://docs.cloudron.io/custom-apps/addons/

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

                          @mehdi doh, thanks!

                          I use Cloudron with Gandi & Hetzner

                          1 Reply Last reply
                          1
                          • nebulonN nebulon

                            @jdaviescoates I rotated the video now and uploaded it to https://videos.cloudron.io/videos/watch/79a34d05-a60b-4ec3-9327-fd736016494c 🙂

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

                            @nebulon said in How does Cloudron work? What does it do? etc 🙂:

                            @jdaviescoates I rotated the video now and uploaded it to https://videos.cloudron.io/videos/watch/79a34d05-a60b-4ec3-9327-fd736016494c 🙂

                            Just realised you're missing about half an hour on that video!

                            I use Cloudron with Gandi & Hetzner

                            robiR 1 Reply Last reply
                            2
                            • jdaviescoatesJ jdaviescoates

                              @nebulon said in How does Cloudron work? What does it do? etc 🙂:

                              @jdaviescoates I rotated the video now and uploaded it to https://videos.cloudron.io/videos/watch/79a34d05-a60b-4ec3-9327-fd736016494c 🙂

                              Just realised you're missing about half an hour on that video!

                              robiR Offline
                              robiR Offline
                              robi
                              wrote on last edited by
                              #27

                              @jdaviescoates Nice catch! You're right, seems to be cut off at the end.

                              Conscious tech

                              nebulonN 1 Reply Last reply
                              1
                              • robiR robi

                                @jdaviescoates Nice catch! You're right, seems to be cut off at the end.

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

                                @robi indeed, have to see why that happened 😕 So the root cause is that either the video on persicope is cut off or the download from periscope just stops at some point. Not sure, however I wasn't able to fully download it thus far.

                                jdaviescoatesJ 1 Reply Last reply
                                0
                                • nebulonN nebulon

                                  @robi indeed, have to see why that happened 😕 So the root cause is that either the video on persicope is cut off or the download from periscope just stops at some point. Not sure, however I wasn't able to fully download it thus far.

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

                                  @nebulon I've got the complete original from periscope if that helps?

                                  When I tried Alltube, it didn't work, but that periscope download link I shared above worked for me.

                                  This one https://pscp.download/?url=https%3A%2F%2Fwww.pscp.tv%2Fw%2F1YqKDBZVqjvJV

                                  I use Cloudron with Gandi & Hetzner

                                  girishG 1 Reply Last reply
                                  0
                                  • jdaviescoatesJ jdaviescoates

                                    @nebulon I've got the complete original from periscope if that helps?

                                    When I tried Alltube, it didn't work, but that periscope download link I shared above worked for me.

                                    This one https://pscp.download/?url=https%3A%2F%2Fwww.pscp.tv%2Fw%2F1YqKDBZVqjvJV

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

                                    @jdaviescoates how long is the video length. The one I downloaded (a week ago) directly is 31:26

                                    jdaviescoatesJ 1 Reply Last reply
                                    0
                                    • girishG girish

                                      @jdaviescoates how long is the video length. The one I downloaded (a week ago) directly is 31:26

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

                                      @girish that's even shorter than the one @nebulon uploaded! The full thing is about 1hr 15 minute

                                      I use Cloudron with Gandi & Hetzner

                                      girishG robiR 2 Replies Last reply
                                      0
                                      • jdaviescoatesJ jdaviescoates

                                        @girish that's even shorter than the one @nebulon uploaded! The full thing is about 1hr 15 minute

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

                                        @jdaviescoates Do you think you can upload the have somewhere, so we can download it? I tried periscope again and only got a 30min video.

                                        jdaviescoatesJ 1 Reply Last reply
                                        1
                                        • jdaviescoatesJ jdaviescoates

                                          @girish that's even shorter than the one @nebulon uploaded! The full thing is about 1hr 15 minute

                                          robiR Offline
                                          robiR Offline
                                          robi
                                          wrote on last edited by
                                          #33

                                          @jdaviescoates I'd suggest a file.pizza link so we can help seed/speed it around.

                                          Conscious tech

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