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

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Packaging & Development
  3. Update on community packages

Update on community packages

Scheduled Pinned Locked Moved App Packaging & Development
25 Posts 9 Posters 622 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.
  • jamesJ james

    Hello @kubernetes

    If you find something unclear of lacking in the documentation, please let me know so we can improve further.

    timconsidineT Offline
    timconsidineT Offline
    timconsidine
    App Dev
    wrote last edited by
    #15

    @james said:

    If you find something unclear of lacking in the documentation ...

    Just getting my head around the workflow, and I like to "spell things out" :


    • build the Community App (previously known as a Custom App) ✅
      (my 'old fashioned' approach : docker build, docker push, cloudron install, probably keep doing that because my build script does it, don't fix what ain't broke)

    • make a CloudronVersions.json file
      ✅
      same folder as project dev folder (Dockerfile, start.sh, CloudronManifest.json, README.md, POSTINSTALL.md etc.)
      • cloudron versions init
      • cloudron versions add
      • maybe add to my build script

    • why "CloudronVersions" in the plural ?
      🤷
      I guess Cloudron thinking is that a Community App might have v1.0.0, v1.0.1, v2.0.0
      Very complete approach, lovely 👍
      but with cloudron versions revoke I wonder if this will ever be in true in practice (I would likely revoke every old version).

    • upload CloudronVersions.json to static hosting
      ✅ gotcha 👍
      but if I have 10 Custom oops Community Apps, what is Cloudron team envisioning :
      • that I will have 10 Surfer apps (app1.tim.uk, app2.tim.uk, etc) ?

      • Or 1 sectioned Surfer app (communityapps.tim.uk) ?

      • Or no Surfer apps and just stick CloudronVersions.json in the relevant git repo (urls to files from git are not always clear) ?

      • I guess you probably don't care, but I'm intrigued what your expectations are


    Cloudron CLI help typo ?

    % cloudron versions --help 
    Usage: cloudron-versions [options] [command]
    

    Hyphenated ?


    Indie app dev, scratching my itches, lover of Cloudron PaaS

    girishG 1 Reply Last reply
    2
    • timconsidineT timconsidine

      @james said:

      If you find something unclear of lacking in the documentation ...

      Just getting my head around the workflow, and I like to "spell things out" :


      • build the Community App (previously known as a Custom App) ✅
        (my 'old fashioned' approach : docker build, docker push, cloudron install, probably keep doing that because my build script does it, don't fix what ain't broke)

      • make a CloudronVersions.json file
        ✅
        same folder as project dev folder (Dockerfile, start.sh, CloudronManifest.json, README.md, POSTINSTALL.md etc.)
        • cloudron versions init
        • cloudron versions add
        • maybe add to my build script

      • why "CloudronVersions" in the plural ?
        🤷
        I guess Cloudron thinking is that a Community App might have v1.0.0, v1.0.1, v2.0.0
        Very complete approach, lovely 👍
        but with cloudron versions revoke I wonder if this will ever be in true in practice (I would likely revoke every old version).

      • upload CloudronVersions.json to static hosting
        ✅ gotcha 👍
        but if I have 10 Custom oops Community Apps, what is Cloudron team envisioning :
        • that I will have 10 Surfer apps (app1.tim.uk, app2.tim.uk, etc) ?

        • Or 1 sectioned Surfer app (communityapps.tim.uk) ?

        • Or no Surfer apps and just stick CloudronVersions.json in the relevant git repo (urls to files from git are not always clear) ?

        • I guess you probably don't care, but I'm intrigued what your expectations are


      Cloudron CLI help typo ?

      % cloudron versions --help 
      Usage: cloudron-versions [options] [command]
      

      Hyphenated ?


      girishG Offline
      girishG Offline
      girish
      Staff
      wrote last edited by girish
      #16

      @timconsidine said:

      upload CloudronVersions.json to static hosting

      I think if the packaging code is public, it makes much sense to keep it in version control itself. If packaging code is private, you can upload it to surfer. In the case latter case, I would just have 1 surfer instance for all the apps that I would publish.

      Cloudron CLI help typo ?

      This is quirk of commander. Which incidentally, I just fixed yesterday - https://git.cloudron.io/platform/cloudron-cli/-/commit/a926a848400de22ddaae30f2139e0556e9461f80

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

        @James

        % cloudron versions add
        Error: Bad changelog format or missing changelog for this version
        

        'CHANGELOG' is present :

        * 1.0.0
        - Initial release
        

        But I don't see any mention in cloudron docs what format is expected.

        Maybe error is because this test community app has a CloudronManifest.json entry of :

        "changelog": "file://CHANGELOG",
        

        Does 'cloudron versions add' not recognise/support this way of doing it ?


        EDIT : I changed CloudronManifest.json to read :

          "changelog": "v1.0.0 - Initial release",
        

        Then 'cloudron versions add' worked

        Not suggesting anything needs fixing as such. But potential mismatch of usage. Simple text string is easier - but it won't be practical for complex changelog descriptions.

        And this cheat works :

         "changelog": "see CHANGELOG",
        

        Not sure I should be cheating, but ...

        'cloudron versions add' seems to handle 'file://POSTINSTALL.md' but not 'file://CHANGELOG'

        Being creative, I tried this, thinking POSTINSTALL.md worked with file name extension.

        "changelog": "file://CHANGELOG.md",
        

        But it does not.
        Seems like 'cloudron versions' treats the entries differently.

        Indie app dev, scratching my itches, lover of Cloudron PaaS

        girishG 1 Reply Last reply
        0
        • timconsidineT timconsidine

          @James

          % cloudron versions add
          Error: Bad changelog format or missing changelog for this version
          

          'CHANGELOG' is present :

          * 1.0.0
          - Initial release
          

          But I don't see any mention in cloudron docs what format is expected.

          Maybe error is because this test community app has a CloudronManifest.json entry of :

          "changelog": "file://CHANGELOG",
          

          Does 'cloudron versions add' not recognise/support this way of doing it ?


          EDIT : I changed CloudronManifest.json to read :

            "changelog": "v1.0.0 - Initial release",
          

          Then 'cloudron versions add' worked

          Not suggesting anything needs fixing as such. But potential mismatch of usage. Simple text string is easier - but it won't be practical for complex changelog descriptions.

          And this cheat works :

           "changelog": "see CHANGELOG",
          

          Not sure I should be cheating, but ...

          'cloudron versions add' seems to handle 'file://POSTINSTALL.md' but not 'file://CHANGELOG'

          Being creative, I tried this, thinking POSTINSTALL.md worked with file name extension.

          "changelog": "file://CHANGELOG.md",
          

          But it does not.
          Seems like 'cloudron versions' treats the entries differently.

          girishG Offline
          girishG Offline
          girish
          Staff
          wrote last edited by girish
          #18

          @timconsidine I will fix the docs but the changelog file format file://CHANGELOG.md is:

          [version]
          * change 1
          * change 2
          

          The CLI tool reads the changelog file from the above format and then populated manifest accordingly into the versions file.

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

            @girish
            Ah, looking at output of 'cloudron versions add' in CloudronVersions.json, I see !

            There is background processing/expectations, pulling only the changlog content for that version.

            Neat ! But opaque pending docs clarification.

            Still not sure how it will work in practice with long changelog entries, but good discipline and neat handling.

            Indie app dev, scratching my itches, lover of Cloudron PaaS

            girishG 1 Reply Last reply
            2
            • timconsidineT timconsidine

              @girish
              Ah, looking at output of 'cloudron versions add' in CloudronVersions.json, I see !

              There is background processing/expectations, pulling only the changlog content for that version.

              Neat ! But opaque pending docs clarification.

              Still not sure how it will work in practice with long changelog entries, but good discipline and neat handling.

              girishG Offline
              girishG Offline
              girish
              Staff
              wrote last edited by
              #20

              @timconsidine it's following the same format as our existing appstore apps. For example, one of our longtime packages - https://git.cloudron.io/packages/gitlab-app/-/blob/master/CHANGELOG?ref_type=heads

              1 Reply Last reply
              2
              • girishG Offline
                girishG Offline
                girish
                Staff
                wrote last edited by
                #21

                OK, updated https://docs.cloudron.io/packaging/manifest/#changelog

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

                  There's a conundrum rattling in my head.

                  • cloudron build prompts for a registry.
                    so supplied a Cloudron-hosted registry
                    and all works fine : builds, pushes, shown in registry list
                  • cloudron versions add does its work
                  • but cloudron-hosted registries do not support public pulls

                  So test of installing community app fails.

                  • am I doing something wrong ?
                  • or effectively cloudron versions does not support cloudron-hosted registries ?
                  • if so, this should be surfaced in docs
                  • if so, is it time to consider support for public pulls in cloudron-hosted registry package ?

                  Docs should also be clear that community app repo link should be open (publicly accessible), if it does not already do so.

                  Indie app dev, scratching my itches, lover of Cloudron PaaS

                  jdaviescoatesJ 1 Reply Last reply
                  1
                  • girishG Offline
                    girishG Offline
                    girish
                    Staff
                    wrote last edited by
                    #23

                    Right, the cloudron registry app can only host private packages. We can possibly look into adding support to make it a public registry as well, but afaik this is complicated. We need private push and public pulls - this is not implemented out of the box by the opensource registry project.

                    1 Reply Last reply
                    2
                    • timconsidineT timconsidine

                      There's a conundrum rattling in my head.

                      • cloudron build prompts for a registry.
                        so supplied a Cloudron-hosted registry
                        and all works fine : builds, pushes, shown in registry list
                      • cloudron versions add does its work
                      • but cloudron-hosted registries do not support public pulls

                      So test of installing community app fails.

                      • am I doing something wrong ?
                      • or effectively cloudron versions does not support cloudron-hosted registries ?
                      • if so, this should be surfaced in docs
                      • if so, is it time to consider support for public pulls in cloudron-hosted registry package ?

                      Docs should also be clear that community app repo link should be open (publicly accessible), if it does not already do so.

                      jdaviescoatesJ Online
                      jdaviescoatesJ Online
                      jdaviescoates
                      wrote last edited by
                      #24

                      I think this:

                      @girish said:

                      Right, the cloudron registry app can only host private packages. We can possibly look into adding support to make it a public registry as well, but afaik this is complicated. We need private push and public pulls - this is not implemented out of the box by the opensource registry project.

                      Means this is correct:

                      @timconsidine said:

                      or effectively cloudron versions does not support cloudron-hosted registries ?

                      Right?

                      🙂

                      I use Cloudron with Gandi & Hetzner

                      girishG 1 Reply Last reply
                      1
                      • jdaviescoatesJ jdaviescoates

                        I think this:

                        @girish said:

                        Right, the cloudron registry app can only host private packages. We can possibly look into adding support to make it a public registry as well, but afaik this is complicated. We need private push and public pulls - this is not implemented out of the box by the opensource registry project.

                        Means this is correct:

                        @timconsidine said:

                        or effectively cloudron versions does not support cloudron-hosted registries ?

                        Right?

                        🙂

                        girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote last edited by
                        #25

                        @jdaviescoates Pretty much, yes.

                        But it can be used for sharing with friends / sharing with people you trust though. Just give them a docker registry app password and they can put it in their cloudrons and then install via the versions file.

                        1 Reply Last reply
                        1

                        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