Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content

App Packaging & Development

App package development & help

222 Topics 2.1k Posts

Subcategories


  • Looking to collaborate? Post here if you need help or willing to offer help.

    30 Topics
    247 Posts
    T

    @jayonrails I have 1 Cloudron frontend that I built that you can take a look at. A while ago I created a pretty simple 'homepage' dashboard, see here. From there, I was able to modify it to be a Cloudron based dashboard - originally, it was based on a pre-configured config file, this new repo leverages the Cloudron API to build out the config for the user. (This is also published on Cloudron's git). The interface isn't necessarily something to write home about, but I'm more of a backend developer than designer 🙂

    What are you looking for?

  • App contributions hall of fame

    Pinned Moved
    41
    11 Votes
    41 Posts
    3k Views
    girishG

    @Lanhild I added you to the App Dev group. I think you have to go to your profile and set something to get the badge.

  • Translators hall of fame

    Pinned Moved
    25
    15 Votes
    25 Posts
    1k Views
    nebulonN

    Public registration is off on that, but we do add language maintainers manually if needed. See https://docs.cloudron.io/i18n/#maintaining-translations

    Since we have native German speakers on the team, we are maintaining that internally, however you can suggest changes via the weblate instance for any strings and I will review those then.

  • Read first before starting to package an app

    Pinned
    10
    8 Votes
    10 Posts
    2k Views
    nebulonN

    I guess the current link would be https://docs.cloudron.io/packaging/tutorial/

  • Building custom packages

    Pinned
    4
    4 Votes
    4 Posts
    1k Views
    timconsidineT

    @ericsanchez

    the cloudron CLI needs to be installed on your local machine (not the server)

    yes you can put app.otherdomain.com as the location providing otherdomain.com has been added to Domains & Certs

    Docker needs to be installed on your local machine for the app building/packaging process

    custom builds can use cloudron's MySQL if you specify it as an add-on in the CloudronManifest.json for the app you are building. You will need to reference the credentials in the Dockerfile you are building.

  • Writing automated tests for packages

    Pinned
    12
    8 Votes
    12 Posts
    844 Views
    BrutalBirdieB

    @nebulon Yea I just wanted to reply never mind, I copied the tests from the alltube app which do not even use selenium so yeeaa my mistake.

    Now I took the nextcloud tests and will learn from them 🙂

  • Cloudron Non-App Store Packaged Apps

    Pinned
    27
    11 Votes
    27 Posts
    2k Views
    T

    @matbrgz added to the post at the top!

  • 3 Votes
    5 Posts
    86 Views
    rosanoR

    @Kubernetes i'm having difficulty making time to do a PR, feel free to copy 🙏🏽

  • 1 Votes
    4 Posts
    71 Views
    ChristopherMagC

    @girish Postgrest requires there to be something in the OIDC id_token that maps to the name of a role in the database.

    Here are the side effects of only being able to use CLOUDRON_POSTGRESQL_USERNAME with postgrest:

    All authenticated users would have the same permissions postgrest's permissions are based on role permissions in the database To have different different set's of permission requires have different roles available It currently isn't possible to use the value of CLOUDRON_POSTGRESQL_USERNAME as the role when using Cloudron's OIDC as the id_token jwt presented to postgrest needs to have a claim in it that maps to the name of the role in the database that user's permissions map to From looking at oidc.js I didn't see any code that would support adding custom claims that would be included in the id_token Here is the specific spot in the codebase that I think makes the claims for the id_token jwt Ultimately this means someone would have to run an external OIDC provider like keycloak where they have more control over the claims in the jwt to be then able to make a claim that contains the value of CLOUDRON_POSTGRESQL_USERNAME

    It feels like the easiest way to address this would be to enhance the add function in the postgresql-addon nodejs app to support taking in an array of roles the app needs and then executing something like the following pseudo code

    roles.foreach( role => function (role) { queries.push(`CREATE ROLE ${role} NOSUPERUSER NOCREATEDB NOCREATEROLE NOLOGIN`) queries.push(`GRANT ${role} TO ${username}`) }

    Ps, I left off NOINHERIT as I believe inheritance would be needed to support having generic roles that are given permissions and then a role that corresponds to a specific user that is identified by sid in the jwt granted permissions to one of the generic roles.

    Then the roles array would be specified as an attribute of the postgresql addon key in the cloudron manifest:

    "postgresql": { "roles":["Role1CorrespondingtoUser1","Role2CorrespondingToUser2","GenericRole3","GenericRole4"] }

    If your open to pull requests and you think this would make sense I could try to implement this.

  • Install Docker Compose apps

    1
    1 Votes
    1 Posts
    26 Views
    No one has replied
  • OpenId Connect on custom web apps

    3
    1 Votes
    3 Posts
    26 Views
    R

    Is planned to unlock the provide for front app ?

  • 1 Votes
    10 Posts
    157 Views
    E

    Yes, makes sense, I am asking in the elixir forum. Thank you still for being here!

  • Installing custom Apps on Cloudron

    41
    6 Votes
    41 Posts
    1k Views
    LanhildL

    @necrevistonnezr 👍

    Often, there are also app-specific questions that are not related to the app itself but directly to the upstream. That's not exclusive to Cloudron, it also happens all the time in IT.

  • Cloudron update vs. installation - custom app

    Moved
    2
    1 Votes
    2 Posts
    57 Views
    BrutalBirdieB

    To answer your question truly I would need to see the code of the custom Cloudron app, how it is packaged.
    If you update an app with cloudron update the Dockerimage on the system and /app/code and all read only parts get updated.
    If your .env file is in a location where it is read write e.g. /app/data this will not be deleted on app update, thankfully!

  • 1 Votes
    3 Posts
    76 Views
    LanhildL

    @girish That was it, thanks

  • Custom app: docker volume mapping

    Moved
    13
    1 Votes
    13 Posts
    168 Views
    BrutalBirdieB

    Still, a Cloudron App should not need a volume by default.

  • ngrok alternatives / awesome tunneling

    7
    3 Votes
    7 Posts
    642 Views
    robiR

    boringproxy has a UI now and free subdomains

  • Redbean - single-file distributable web server

    1
    2 Votes
    1 Posts
    43 Views
    No one has replied
  • Ollama-webui - help needed

    1
    0 Votes
    1 Posts
    58 Views
    No one has replied
  • 1 Votes
    9 Posts
    91 Views
    M

    @girish
    Very cool, looking forward to it 😁 . When do you think will the release be available? Thank you cloudron team!

  • Process of getting into the AppStore

    Moved
    9
    0 Votes
    9 Posts
    230 Views
    philkunzP

    ... In a way. We are developing our own solution now, that uses Synology as a base for on premise installations.