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
  • Brite
  • 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

Offical apps | Community apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Package development
  3. Alternative lightweight base image

Alternative lightweight base image

Scheduled Pinned Locked Moved Package development
16 Posts 5 Posters 315 Views 5 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

    Great initiative @timconsidine . I am quite open to this approach. In fact, I already remove PHP in 5.1 base image (it's an image of it's own called php-base). Node is also on it's way out, this is why it's not in the PATH anymore. Each app package is now explicitly opting in to node.

    Locally, my cloudron/base:5.1.0 is 2.42GB! It's insane you got this down to 50Mb . If you can share your Dockerfile, I will incorporate your changes into the base image, if that's ok with you 🙂

    timconsidineT
    timconsidineT
    timconsidine
    App Dev
    wrote last edited by
    #3

    @girish thank you.

    And thanks for not reacting with horror at the approach ! 🙂

    It feels too good to be true but I just asked my AI to check it, and it says 50Mb also.

    `tcmbp132021/cloudron-minibase:0.0.1@sha256:a9c29ddb555b1a33f1e5b3b70c512e3a799cc691770d5016c70e0195e74764e0` is a **manifest list**, not a single image.
    
    For its actual `linux/amd64` image on Docker Hub:
    - child manifest: `sha256:85b5d851685962eecb7acfe3adaa77907b023fbe81f09cfc29a722eb03f6c952`
    - compressed layers total: `52,223,700` bytes
    - with config: `52,227,752` bytes
    - size: **49.8 MB**
    
    So the practical answer is: **about 50 MB on Docker Hub**.
    

    My repo is at https://forgejo.tcjc.uk/cca/cloudron-minibase.git.
    Sure, please take whatever you want.
    There's a MIT licence on it.

    Hope you don't find any 'gotchas' ! 🤣

    I thought about producing a series of common deployments :

    • cloudron-minibase+node
    • cloudron-minibase+python
      -etc.

    That's more in keeping with a 'batteries-included' philosophy. But I wanted to run it for a while and discover issues. AppsMonitor seems to running fine after a couple of days.

    Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

    1 Reply Last reply
    2
    • timconsidineT
      timconsidineT
      timconsidine
      App Dev
      wrote last edited by
      #4

      @girish just to clarify
      I said 'MIT licence added' but that was just to fill the blanks in my repo.
      You're welcome to take /change anything, no attribution needed.

      Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

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

        @timconsidine thanks. I will have to investigate package by package in our base image what is bloating up the base image. I think with AI this can be done much faster, I will get back with results in a week or so.

        jamesJ timconsidineT 2 Replies Last reply
        2
        • girishG girish

          @timconsidine thanks. I will have to investigate package by package in our base image what is bloating up the base image. I think with AI this can be done much faster, I will get back with results in a week or so.

          jamesJ
          jamesJ
          james
          Staff
          wrote last edited by
          #6

          @girish we will have to keep in mind that some start.sh scripts might depend on e.g.: python to do some logic for starting the app.
          But AI should be able to figure it out.

          1 Reply Last reply
          1
          • girishG girish

            @timconsidine thanks. I will have to investigate package by package in our base image what is bloating up the base image. I think with AI this can be done much faster, I will get back with results in a week or so.

            timconsidineT
            timconsidineT
            timconsidine
            App Dev
            wrote last edited by
            #7

            @girish no rush
            entirely at your pace/ schedule - you have many other projects

            just building a fairly meaty web app (personal use, may become a Community App if it works out)
            cloudron-minibase + python + app code + bundled EverOS : 1.16Gb
            dev build/push/pull all faster

            Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

            1 Reply Last reply
            2
            • robiR
              robiR
              robi
              wrote last edited by
              #8

              The question is what the experience is like in the terminal.

              On the other hand a Python based app doesn't need to include the entire base image, only the needed parts, but that means specifying all the parts in the Docker file.

              So how many base images do we need in parts to keep all the apps happy?

              Conscious tech

              timconsidineT 1 Reply Last reply
              0
              • robiR robi

                The question is what the experience is like in the terminal.

                On the other hand a Python based app doesn't need to include the entire base image, only the needed parts, but that means specifying all the parts in the Docker file.

                So how many base images do we need in parts to keep all the apps happy?

                timconsidineT
                timconsidineT
                timconsidine
                App Dev
                wrote last edited by
                #9

                @robi said:

                The question is what the experience is like in the terminal.

                in an app packaged with cloudron-minibase ?
                as far as I can tell, it is the same as with cloudron/base.

                Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                robiR 1 Reply Last reply
                0
                • timconsidineT timconsidine

                  @robi said:

                  The question is what the experience is like in the terminal.

                  in an app packaged with cloudron-minibase ?
                  as far as I can tell, it is the same as with cloudron/base.

                  robiR
                  robiR
                  robi
                  wrote last edited by
                  #10

                  @timconsidine as in all the troubleshooting commands still exist?

                  Conscious tech

                  timconsidineT 1 Reply Last reply
                  0
                  • robiR robi

                    @timconsidine as in all the troubleshooting commands still exist?

                    timconsidineT
                    timconsidineT
                    timconsidine
                    App Dev
                    wrote last edited by
                    #11

                    @robi honestly, I haven't explicitly tested that dimension as the minibase was a test, with those questions to be answered through actually using it.

                    But at the end of the day, it is simply the official cloudron/base:5.1.0 without node, etc.

                    I doubt troubleshooting commands would be lost during that process.
                    And I haven't specifically and deliberately removed any.

                    Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                    1 Reply Last reply
                    1
                    • timconsidineT
                      timconsidineT
                      timconsidine
                      App Dev
                      wrote last edited by timconsidine
                      #12

                      In the spirit of sharing experience of using cloudron-minibase, I just updated my Community App rybbit.

                      • 1st update was for latest rybbit upstream using cloudron/base : built app image was 5.29Gb
                      • 2nd update replaced final multi-stage build with cloudron-minibase + Node : built app image is 2.51Gb.

                      50% saving in app image size !

                      Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                      jdaviescoatesJ 1 Reply Last reply
                      2
                      • timconsidineT timconsidine

                        In the spirit of sharing experience of using cloudron-minibase, I just updated my Community App rybbit.

                        • 1st update was for latest rybbit upstream using cloudron/base : built app image was 5.29Gb
                        • 2nd update replaced final multi-stage build with cloudron-minibase + Node : built app image is 2.51Gb.

                        50% saving in app image size !

                        jdaviescoatesJ
                        jdaviescoatesJ
                        jdaviescoates
                        wrote last edited by
                        #13

                        @timconsidine said:

                        rybbit

                        https://ca.cloudron.io/app/rybbit could do with a bit more of a description imho (and a working screenshot) 🙂

                        I use Cloudron with Gandi & Hetzner

                        timconsidineT 1 Reply Last reply
                        1
                        • jdaviescoatesJ jdaviescoates

                          @timconsidine said:

                          rybbit

                          https://ca.cloudron.io/app/rybbit could do with a bit more of a description imho (and a working screenshot) 🙂

                          timconsidineT
                          timconsidineT
                          timconsidine
                          App Dev
                          wrote last edited by
                          #14

                          @jdaviescoates will get onto it - thanks for the nudge - laziness during publication - sorry.

                          Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                          1 Reply Last reply
                          1
                          • timconsidineT
                            timconsidineT
                            timconsidine
                            App Dev
                            wrote last edited by
                            #15

                            Summary web page for the lightweight alternative, explaining what's in and what's out :
                            https://appx.uk/cloudron-minibase/

                            Also in preparation for new cloudron base image supporting ubuntu 26.04, moving name convention from cloudron-minibase:0.0.1 to tcmbp132021/cloudron-minibase:ubuntu24.04 .
                            Original name works.

                            Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                            1 Reply Last reply
                            0
                            • timconsidineT
                              timconsidineT
                              timconsidine
                              App Dev
                              wrote last edited by
                              #16

                              A neat "trick" for those who are cautious about not building with official base image :

                              FROM cloudron/base:5.1.0 AS builder
                              # Ubuntu 24.04 — full toolchain: Node, Python, nginx, supervisor, etc.
                              # Build everything here
                              
                              FROM tcmbp132021/cloudron-minibase:ubuntu24.04
                              # Ubuntu 24.04 — same glibc, same libssl, same everything
                              COPY --from=builder /what/you/need /where/you/need
                              CMD ["/app/code/start.sh"]
                              

                              The built image is in all senses a proper cloudron build in the builder stage.
                              But the final runtime stage shrinks the image.
                              There is a level of caution and attention need to ensure that all artefacts are copied in from builder.
                              But you will soon know if anything is missing.

                              Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                              1 Reply Last reply
                              0

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              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