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
30 Posts 10 Posters 635 Views 10 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.
  • 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 Offline
                jdaviescoatesJ Offline
                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.

                  timconsidineT 1 Reply Last reply
                  1
                  • robiR Offline
                    robiR Offline
                    robi
                    wrote last edited by
                    #26

                    So it could be made public with an agreed upon default app password such as 'cloudron'

                    Conscious tech

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

                      Through my CCAI --> CCAI-P --> CAG journey, I've used Docker Hub for public pulls, and my private registry for dev and non-community projects.

                      Maybe my bad, but I desperately hoped that Community apps would allow me one registry for minimum workflow / publish discrepancies. But seems not possible.

                      Not without dev work.

                      mermaid-diagram-2026-03-10-175143.png
                      [made with cloudron custom mermaid app]

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

                      1 Reply Last reply
                      1
                      • robiR Offline
                        robiR Offline
                        robi
                        wrote last edited by
                        #28

                        It doesn't seem to make sense to separate the versions file from the source.

                        Since the architecture requires this for public pulls, it would make sense to have a homegrown vanilla implementation where this is taken care of.

                        In the case of the private registry, how could this be solved?

                        1. Exposing a designated source file via a local webserver at a specific path, such as .well-known/ - possibly automated by a script scanning all repos for such files, then linking them to the hosted exposed spot
                        2. A new addon for this purpose which accomplishes the above, which may be useful to use in other projects that need things for autodiscovery
                        3. Runner type workflows that work to set something like this up from the source side?
                        4. Cloudron provided hosting for such packages with self management capabilities?
                        5. Docker image hints/artifacts that can serve as a versions file???
                        6. Your turn..

                        Conscious tech

                        1 Reply Last reply
                        1
                        • girishG girish

                          @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.

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

                          @girish does sharing creds / creating users gives full registry access ? Or a user (virtual or real) can be limited to certain repos?

                          โ€”-
                          EDIT : the support for Community Apps is awesome.
                          Thank you again for doing this โ€œnon-priorityโ€ enhancement.
                          Totally ok with CloudronVersions.json living in source repo such as git.cloudron.io

                          But plan seems to break down without easy public docker image (2 registries is good for segregating but cumbersome in practice)

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

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

                            @girish does sharing creds / creating users gives full registry access ?

                            yes, this is why it works only for friends and trusted people.

                            Maybe I miss something, but cloudron docker registry app and community packages are completely different things/use cases.

                            • community app is for sharing built images. You generally want to use a public registry like gcs, DO, dockerhub etc. If you want to use a private registry, this is possible if the end user adds the private registry on their server. The public cloud providers have registries which give tokens with read/write and all sorts of access control which can be used for this.

                            • cloudron docker registry is just an app to store private docker images. sure, we can add a feature to make it support public images, but this is not on the roadmap. In general, selfhosting public docker registry is very expensive network wise and backup wise. GIven the size of docker images, you will quickly run out of network limits. This is why cloudron's own appstore images use dockerhub and is not selfhosted.

                            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