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

299 Topics 2.8k Posts

App package development & help

Subcategories


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

    36 284
    36 Topics
    284 Posts
    osoboO
    Hi @andreasdueren, Thanks for reaching out. I’m currently using the paid cloud version of Kitsu. The Docker version works for testing purposes. I installed it locally following this tutorial: . I understand that many professional studios self-host and use this app for production, but it requires technical skills for setup and maintenance, as many of the Docker files seem to be deprecated. As well as the GitHub page, there is a dedicated Kitsu community Discord server where users can discuss installation and usage issues: https://discord.gg/kJ7SmmUPM Best whises
  • Cloudron CLI - Updates

    Pinned
    24
    0 Votes
    24 Posts
    3k Views
    girishG
    [7.1.0] Add cloudron sync push and cloudron sync pull subcommands Merge all binaries into single cloudron command
  • App contributions hall of fame

    Pinned Moved
    42
    10 Votes
    42 Posts
    18k Views
    LanhildL
    @girish Missed that message. Yeah, Open WebUI is the one that made it to published. I've made several other things but they're mostly to learn packaging/tests (such as a standalone DB app, etc.)
  • Read first before starting to package an app

    Pinned
    10
    8 Votes
    10 Posts
    7k Views
    nebulonN
    I guess the current link would be https://docs.cloudron.io/packaging/tutorial/
  • XMPP Server - Prosody

    66
    4 Votes
    66 Posts
    20k Views
    L
    We ran an automated assessment of how difficult it would be to package and then maintain Prosody as an application on Cloudron. The assessment is here (TL/DR - it would be a lot more feasible than Ejabberd): https://wanderingmonster.dev/blog/monster-manual-prosody/ https://enjoys.rocks/?8957edc0c6a1b7fa#DdSoHsPAZQwxnUHuNVfiQcdFd6soCFf8XLRogrXTNpgy
  • Community App - required environment variables?

    8
    0 Votes
    8 Posts
    91 Views
    timconsidineT
    @ekevu123 if you have a startup.sh or other launch script, it is common to have the script touch /app/data/initialized during first setup, all setup inside a test whether .initialized is present or not. If so, skip setup. If not, then do setup. Setup including key generation. I haven't reviewed how you launch the app, so not sure how viable it is for you, but it's very common for other apps. if [ ! -f /app/data/.initialized ]; then cp -a -n /app/code/defaults/config/. /app/data/config/ || true touch /app/data/.initialized fi
  • Community Apps workflow observations

    7
    1
    3 Votes
    7 Posts
    99 Views
    timconsidineT
    Thanks @girish TBH, most people don't read docs despite all this Yep, true Soon there won't be any docs. AI coding agent utility will produce some illegible binary asset "cloudron.aifood", which another agent will use. We humans won't need to know or read anything. Thanks @nebulon maybe better some https://foo.bar/changelog link nice idea, let me think about that. testing my build script which makes it a mandatory input (to overcome my lack of discipline )
  • Community App changelog as .md?

    3
    1 Votes
    3 Posts
    45 Views
    nebulonN
    Yes the format is described in https://docs.cloudron.io/packaging/manifest#changelog Using the .md extension is not really relevant, however it might render the file better in git hosting apps.
  • Update on community packages

    32
    3
    14 Votes
    32 Posts
    883 Views
    timconsidineT
    Stubborn dog-with-a-bone that I am, I did more research, and hopefully this can put to bed my diversion of the thread (sorry), and maybe help others with a similar use case / workflow objective to mine : Forgejo (official Cloudron AppStore) provides standard git source code functionality AND it has a built-in container registry functionality so no need to consider changes to the official docker registry app for public pulls forgejo supports private and public repos (which git.cloudron.io does not) forgejo supports public image pulls (like hub.docker.com) but also multiple private containers (hub.docker.com only allows 1) I can uninstall docker registry app and gitea/gitlab apps, multiple used for segregating cloudron community work from closed app dev, using Forgejo organization instead. So the answer for my bandwidth-limited brain of 1 app for (almost) everything seems to be Forgejo (available today, no dev work). However, @girish made valuable comment that hosting container images is a disk/network usage risk. Even for a small dev footprint like mine, this could be critical (let alone Cloudron scale). I need to think & test out, but maybe Forgejo actions can automate container push to hub.docker.com, and do automated cleanup in the instance. So from dev point of view it's a single answer (Forgejo) with CI/CD offloading disk/network risks to hub.docker.com (or whatever).
  • Custom app - how to use cloudron authentication?

    3
    0 Votes
    3 Posts
    29 Views
    timconsidineT
    You already got it, but often proxyAuth is the simplest.
  • 1 Votes
    1 Posts
    26 Views
    No one has replied
  • 1 Votes
    7 Posts
    253 Views
    L
    ️ Critical limitation: The Cloudron Strapi package runs with a read-only /app/code filesystem. This means the Content-Type Builder is permanently unusable in production mode, and there is no supported way to deploy custom content types to it. Schema files cannot be written via transfer, push, or direct filesystem access. The only partial workaround is: build content types locally in dev mode → use strapi transfer --exclude files to push to production. However this only works if the schemas already exist on the destination, which they cannot, making it a circular problem. Directus (also available on Cloudron) stores its schema in the database rather than the filesystem, making it fully compatible with Cloudron's immutable package model.
  • example apps in packaging tutorial not building / installing

    4
    3 Votes
    4 Posts
    80 Views
    jamesJ
    Hello @aaaaargzombies @aaaaargZombies said: TLDR I'm on version 9.0.17 and should try upgrading. Yes, you should update to Cloudron 9.1.3 for cloudron install to work without the need to build and push the image before installing.
  • 7 Votes
    14 Posts
    589 Views
    jamesJ
    Hello @themeerkat I have added your package to the list: https://forum.cloudron.io/topic/15172/community-apps
  • RomM App For Cloudron

    Moved
    23
    2
    4 Votes
    23 Posts
    4k Views
    murgeroM
    @eyecreate amazing! I'll be installing this I think
  • Ente for cloudron, help for testing wanted.

    26
    9 Votes
    26 Posts
    3k Views
    andreasduerenA
    @Muhanand Definitely possible. But this app just by nature requires a more sophisticated manual setup.
  • Orb Stack

    6
    1
    5 Votes
    6 Posts
    2k Views
    timconsidineT
    @marcusquinn your prompt reminded me about it. I will take off the very dusty shelf and look at it again.
  • Cloudron API - exposes domain email config ?

    6
    1
    1 Votes
    6 Posts
    371 Views
    timconsidineT
    @James absolutely ! Very cool ! That was actually a break-through moment to get over blind poking and assessing output. So thank you again.
  • Matrix Signal Bridge

    4
    5 Votes
    4 Posts
    268 Views
    robiR
    @timconsidine challenge accepted? You grow either way.
  • Matrix WhatsApp Bridge

    30
    6 Votes
    30 Posts
    6k Views
    andreasduerenA
    @Eliahou I packaged the signal bridge and now wanted to see how I can make encryption work. Root Cause: Synapse 1.141+ explicitly blocks appservice users from using /sync. The mautrix bridges were configured to poll /sync for encryption data, which caused HTTP 500 errors. Solution: Enabled appservice mode for end-to-bridge encryption, which uses MSC3202/MSC2409 to receive encryption data via appservice transactions instead of /sync. In specific this means: Changes Made Synapse: Added experimental features to homeserver.yaml: experimental_features: msc3202_transaction_extensions: true msc2409_to_device_messages_enabled: true Added org.matrix.msc3202: true to both bridge registration files Signal Bridge: Updated start.sh to set encryption.appservice = true Built and deployed andreasdueren/mautrix-signal:1.0.2 WhatsApp Bridge: Updated start.sh to set encryption.appservice = true Built and deployed andreasdueren/mautrix-whatsapp:2.0.2
  • 0 Votes
    4 Posts
    389 Views
    timconsidineT
    @LoudLemur late reply not sure I understand your question so this answer may not be what you want but in picture form ... [image: 1768330247721-mermaid-diagram-2026-01-13-185009-resized.png]