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
9 Posts 6 Posters 174 Views 7 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 Offline
    girishG Offline
    girish
    Staff
    wrote last edited by
    #1

    We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:

    • The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
    • CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
    • There is a button in the App store view to install a community app.
      2b96ce78-6aec-4d76-a88f-dcb1eb21fe6a-image.png
    • Test with a URL like https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json
    • After this, it will show the app and install just like any other app.
      a5e28c39-9969-4f33-a5fd-43cf706733b2-image.png
    • A new packager name appears in the Info
      0b0780fd-1d6c-45a1-83ce-a2f312ebb2ac-image.png

    Other than that, updates etc works like a normal app.

    cc @timconsidine @appdev

    timconsidineT murgeroM 2 Replies Last reply
    11
    • girishG girish

      We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:

      • The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
      • CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
      • There is a button in the App store view to install a community app.
        2b96ce78-6aec-4d76-a88f-dcb1eb21fe6a-image.png
      • Test with a URL like https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json
      • After this, it will show the app and install just like any other app.
        a5e28c39-9969-4f33-a5fd-43cf706733b2-image.png
      • A new packager name appears in the Info
        0b0780fd-1d6c-45a1-83ce-a2f312ebb2ac-image.png

      Other than that, updates etc works like a normal app.

      cc @timconsidine @appdev

      timconsidineT Online
      timconsidineT Online
      timconsidine
      App Dev
      wrote last edited by
      #2

      @girish awesome, thank you so much.
      Very smooth and integrated in UI 👍

      So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add CloudronVersions.json to their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat ! 👍

      You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?

      TBH, with your neat approach, I am questioning whether a catalogue is needed. Every custom app (well, 99.999%) has a topic in the forum's AppWishlist category, and the packager can just post a message there with the repo details, including the relevant CloudronVersions.json file.

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

      girishG 1 Reply Last reply
      3
      • timconsidineT timconsidine

        @girish awesome, thank you so much.
        Very smooth and integrated in UI 👍

        So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add CloudronVersions.json to their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat ! 👍

        You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?

        TBH, with your neat approach, I am questioning whether a catalogue is needed. Every custom app (well, 99.999%) has a topic in the forum's AppWishlist category, and the packager can just post a message there with the repo details, including the relevant CloudronVersions.json file.

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

        @timconsidine said in Update on community packages:

        So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add CloudronVersions.json to their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat ! 👍

        Yes, correct. cloudron versions add simply creates CloudronVersions.json with the current manifest and current build information. Hopefully, it's all as obvious as I am making it sound 🙂

        From the installation point of view, the repo can be closed, docker image can be private. Only the CloudronVersions.json has to be public.

        I have added two new fields on the manifest - packagerName and packagerUrl.

        Going forward, the icon in manifest will be deprecated. We will use iconUrl instead.

        You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?

        Yes, let's think about how people discover these versions files once we have released this.

        1 Reply Last reply
        3
        • jadudmJ Offline
          jadudmJ Offline
          jadudm
          wrote last edited by
          #4

          I would ask, for simplicity, that you require the developer to put the JSON in a fixed/predictable path, and allow the user to paste the URL for the main GH repo. Asking users to find the "raw" link is likely hard/confusing. Put the onus on the person packaging, not the person installing?

          I use Cloudron on a DXP2800 NAS w/ 8TB in ZFS RAID1

          girishG 1 Reply Last reply
          2
          • girishG girish

            We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:

            • The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
            • CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
            • There is a button in the App store view to install a community app.
              2b96ce78-6aec-4d76-a88f-dcb1eb21fe6a-image.png
            • Test with a URL like https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json
            • After this, it will show the app and install just like any other app.
              a5e28c39-9969-4f33-a5fd-43cf706733b2-image.png
            • A new packager name appears in the Info
              0b0780fd-1d6c-45a1-83ce-a2f312ebb2ac-image.png

            Other than that, updates etc works like a normal app.

            cc @timconsidine @appdev

            murgeroM Offline
            murgeroM Offline
            murgero
            App Dev
            wrote last edited by
            #5

            @girish I absolutely love this idea but is there a way to maybe host a community store? Like Arch's AUR for example that way it can be searchable too - you can allow "verified devs" for an extra layer of security or something

            --
            https://urgero.org
            ~ Professional Nerd. Freelance Programmer. ~

            BrutalBirdieB 1 Reply Last reply
            2
            • murgeroM murgero

              @girish I absolutely love this idea but is there a way to maybe host a community store? Like Arch's AUR for example that way it can be searchable too - you can allow "verified devs" for an extra layer of security or something

              BrutalBirdieB Offline
              BrutalBirdieB Offline
              BrutalBirdie
              Partner
              wrote last edited by
              #6

              @murgero
              Are you talking about the CUR? 😄
              Very happy to see this comming to Cloudron!

              Like my work? Consider donating a drink. Cheers!

              1 Reply Last reply
              3
              • rmdesR Online
                rmdesR Online
                rmdes
                wrote last edited by
                #7

                Amazing !

                1 Reply Last reply
                1
                • jadudmJ jadudm

                  I would ask, for simplicity, that you require the developer to put the JSON in a fixed/predictable path, and allow the user to paste the URL for the main GH repo. Asking users to find the "raw" link is likely hard/confusing. Put the onus on the person packaging, not the person installing?

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

                  @jadudm Good idea, will give it a try.

                  @murgero right now, the first step is to make it possible to install community packages easily. Depending on how many packages we have and how many people provide multiple packages, we have to look into adding custom stores.

                  timconsidineT 1 Reply Last reply
                  0
                  • girishG girish

                    @jadudm Good idea, will give it a try.

                    @murgero right now, the first step is to make it possible to install community packages easily. Depending on how many packages we have and how many people provide multiple packages, we have to look into adding custom stores.

                    timconsidineT Online
                    timconsidineT Online
                    timconsidine
                    App Dev
                    wrote last edited by
                    #9

                    @girish said in Update on community packages:

                    Depending on how many packages

                    my CustomAppGateway has ~25 apps, and there are more currently out there not added to it, and with 9.1, I would expect the numbers to double at least.

                    I have no hesitancy with deferring 'app discovery' in favour of getting the core functionality available and working.

                    I feel we will need a discovery place of some kind, relying on a forum post in an AppWishList topic might be viable as short and medium term. But catalogue / CUR / "awesome" style git package is likely needed longer term. And it's more polished / prettier 😄

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

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