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. Run any Docker Container on Cloudron

Run any Docker Container on Cloudron

Scheduled Pinned Locked Moved Discuss
12 Posts 6 Posters 2.1k Views 8 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.
  • robiR Offline
    robiR Offline
    robi
    wrote on last edited by robi
    #1

    Cloudron is very opinionated when it comes to how it runs and packages apps. That's part of why we love it.

    To make it easier to try out apps from Dockerhub before they are packaged, I thought about installing and using a modified version of CapRover, Portainer or FLAP (thanks @scooke) with just enough features enabled to manage docker and not interfere with Cloudron.

    However, since their intent is to manage the server much like Cloudron, there will be lots to modify to pair it down.

    It would be less modification to have Cloudron manage that as vanilla Apps not in the App Store yet still installable from any container registry.

    This would speed up App packaging and dev testing of existing vanilla apps and scratch many an itch without having to run a separate system.

    @staff
    How difficult would it be as a new feature?

    Would it be better to strip down FLAP or another container manager to run alongside Cloudron?

    Discuss.

    Conscious tech

    timconsidineT 1 Reply Last reply
    4
    • robiR robi

      Cloudron is very opinionated when it comes to how it runs and packages apps. That's part of why we love it.

      To make it easier to try out apps from Dockerhub before they are packaged, I thought about installing and using a modified version of CapRover, Portainer or FLAP (thanks @scooke) with just enough features enabled to manage docker and not interfere with Cloudron.

      However, since their intent is to manage the server much like Cloudron, there will be lots to modify to pair it down.

      It would be less modification to have Cloudron manage that as vanilla Apps not in the App Store yet still installable from any container registry.

      This would speed up App packaging and dev testing of existing vanilla apps and scratch many an itch without having to run a separate system.

      @staff
      How difficult would it be as a new feature?

      Would it be better to strip down FLAP or another container manager to run alongside Cloudron?

      Discuss.

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

      @robi very interesting thought : well the headline at least !

      I fear the amount of work involved which takes @staff away from further developing cloudron, and more importantly the risk to cloudron stability of trying to put another system "alongside" in some ways.
      The stability of my cloudron instance is valuable to me, so I wouldn't want it to be at risk through some architecture change or integration of another 'eco-system'.

      BUT ... given that a container is a container, maybe the risk of a supporting a "bare isolated container" (e.g. docker run blah blah or docker-compose up -d) outside of cloudron email, backup, volumes, domain/dns might be acceptable to all.

      I have a CapRover instance and like some parts of its approach, but I find many apps packaged for CapRover just don't work. Demonstrates the importance of 'opinionated packaging'.

      I'd probably lean more towards a Portainer type approach, which seems a lot more robust than CapRover. A Cloutainer perhaps 😄

      But heck, what do I know.
      Certainly interested how more expert techs see viability of this idea, which is a good one.

      1 Reply Last reply
      3
      • nebulonN Away
        nebulonN Away
        nebulon
        Staff
        wrote on last edited by
        #3

        We do feel the pressure to run vanilla Docker images 🙂 Also we keep questioning some bits of why we have this opinionated approach.

        Either way though, I am not sure I see the huge benefit of trying to fit something like caprover into Cloudron as such, given how simple it should be to run a docker image on a plain VPS, outside of Cloudron for testing out an app. If this is too hard, I am not sure if we can solve this by essentially providing the same thing to run such images, just with additional side-effects, the original docker image might not expect. I feel this will cause a lot of trouble later in data migration and we would have to somehow figure out backup/restore of the whole containers.

        1 Reply Last reply
        4
        • girishG Do not disturb
          girishG Do not disturb
          girish
          Staff
          wrote on last edited by girish
          #4

          Is there a reason why someone cannot spin up a VPS and run docker directly for testing purposes? (it's what we do ourselves). The Cloudron experience only exists because it's packaged a certain way. Without it, one has to provision databases, figure what to backup etc. It's also a big security risk - docker containers often runs as root and running random things can compromise your existing apps.

          timconsidineT robiR 2 Replies Last reply
          2
          • girishG girish

            Is there a reason why someone cannot spin up a VPS and run docker directly for testing purposes? (it's what we do ourselves). The Cloudron experience only exists because it's packaged a certain way. Without it, one has to provision databases, figure what to backup etc. It's also a big security risk - docker containers often runs as root and running random things can compromise your existing apps.

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

            @girish I have a separate "MyDocker" VPS for testing/playing and for 'live' apps which are not yet/never going to make it into Cloudron. I like this because I like to keep my Cloudron VPS pure.

            It's not a good answer to your question, but I suspect many will answer they want to avoid the cost of a 2nd VPS. But I should not put words in mouths.

            If the Cloudron experience would be at risk from 'unmanaged' docker deployments, I gladly accept the cost of a 2nd VPS and accept keeping Cloudron pure.

            1 Reply Last reply
            4
            • girishG girish

              Is there a reason why someone cannot spin up a VPS and run docker directly for testing purposes? (it's what we do ourselves). The Cloudron experience only exists because it's packaged a certain way. Without it, one has to provision databases, figure what to backup etc. It's also a big security risk - docker containers often runs as root and running random things can compromise your existing apps.

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

              @girish Cost and complexity is a thing, from domain integration to simply wanting to use your existing server you pay resources for to run an additional app or two.

              The assumption backups are needed is false.

              Yet, if we take the time to revisit an old idea of additional VM like isolation via Nestybox, (which is a single line code change) we may have our cake and eat it too, with backups at no extra work.

              Personally I don't care for any of the benefits of the packaged apps for the unpackaged ones, unless they're no effort as a side-effect of the implementation.

              The only thing I can think of we might need more of is control over nginx rev proxy settings and mappings.

              Conscious tech

              1 Reply Last reply
              0
              • robiR Offline
                robiR Offline
                robi
                wrote on last edited by
                #7

                What do you guys think of a special Docker-in-Docker App packaged for the App Store that is configured for running with the sysbox-runc and has a predefined range of 20 ports enabled so any vanilla docker containers deployed within can be reached from the host.

                All-in-one Cloudron + vanilla docker testing & packaging environment in an App that conforms to packaging and maintainability standards.

                Thoughts @girish ?

                Conscious tech

                1 Reply Last reply
                0
                • girishG Do not disturb
                  girishG Do not disturb
                  girish
                  Staff
                  wrote on last edited by
                  #8

                  @robi while possible, I think we need to extend our packaging format a lot of figure out how backup/restore/automatic configuration of db,auth,mail etc is going to work. It really is a different product/focus.

                  scookeS robiR 2 Replies Last reply
                  0
                  • girishG girish

                    @robi while possible, I think we need to extend our packaging format a lot of figure out how backup/restore/automatic configuration of db,auth,mail etc is going to work. It really is a different product/focus.

                    scookeS Offline
                    scookeS Offline
                    scooke
                    wrote on last edited by
                    #9

                    @girish PLUS, counting on any dev or dev group to have their Dockerized setup standard enough for anyone to just plop it into an env and give it a try is hopeful thinking. There are TOO many variables involved, even in something like Docker which is supposed to mitigate these variables.

                    A life lived in fear is a life half-lived

                    1 Reply Last reply
                    0
                    • girishG girish

                      @robi while possible, I think we need to extend our packaging format a lot of figure out how backup/restore/automatic configuration of db,auth,mail etc is going to work. It really is a different product/focus.

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

                      @girish I would think everything there would stay the same, just leverage everything you already have.

                      Besides, anything running in DinD would be dev/test/external apps not production App Store apps.

                      So no your responsibility.

                      Just like Surfer.. you maintain it, but not any code that runs in /app/data/public

                      Conscious tech

                      girishG 1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        DualOSWinWiz
                        wrote on last edited by DualOSWinWiz
                        #11

                        I have another ubuntu instance with portainer and by internal ip i use cloudron app proxy and even for extra security i put cloudroon sso oauth on top of it i even use wazhu, supabas and many other so instead of having nginx reverse proxy manager seperately i use cloudron

                        1 Reply Last reply
                        3
                        • robiR robi

                          @girish I would think everything there would stay the same, just leverage everything you already have.

                          Besides, anything running in DinD would be dev/test/external apps not production App Store apps.

                          So no your responsibility.

                          Just like Surfer.. you maintain it, but not any code that runs in /app/data/public

                          girishG Do not disturb
                          girishG Do not disturb
                          girish
                          Staff
                          wrote on last edited by
                          #12

                          @robi yeah, might be interesting. Happy to test things out if someone can do a prototype package.

                          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