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

291 Topics 2.7k Posts

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
  • 0 Votes
    4 Posts
    177 Views
    saikarthikS
    This is a custom app based I am packaging on react-admin. I am currently just redirecting the user to {app}/logout on clicking logout. Any way to enable it for just the custom app?
  • Is the OIDC Addon a kind of... "instant App Proxy" for packaging apps?

    Moved
    3
    1 Votes
    3 Posts
    182 Views
    jadudmJ
    Absolutely. That's an excellent and thorough answer, @james . Many, many thanks. Possible text: This add-on is intended for applications that already support OpenID Connect-based (OIDC) authentication. Apply this add-on to use Cloudron as an OpenID provider with an application that supports OIDC-based authentication. Possible improvement for proxyauth: The proxyauth add-on allows you to put an authentication wall in front of an application. This is useful in situations where the application has no authentication mechanisms of its own, or where there are features that you cannot easily turn off (for the general public), and you want to restrict access using Cloudron's built-in user and group management tools. I think the idea being that, in both cases, a bit more "why" might help. Either way, thank you. All of my questions are answered (including "oh, hey, there was an app packaging topic!").
  • Blossom Server package

    10
    6 Votes
    10 Posts
    3k Views
    scookeS
    @nostrdev-com I've installed it, went smooth, and have even uploaded a blob. How do I make this private? I really don't want some random to upload nasty stuff! Here is some of my config: discovery: # find files by querying nostr relays nostr: enabled: true relays: - wss://relay.mynostr.com # - wss://nostrue.com # - wss://relay.damus.io # - wss://nostr.wine # - wss://nos.lol # - wss://nostr-pub.wellorder.net # find files by asking upstream CDNs # NOTE: do not set this to your own server, it will create an infinite loop upstream: enabled: true domains: - https://cdn.satellite.earth storage: # local or s3 backend: local # Imminently removes a blob when there are no owners removeWhenNoOwners: false # local storage local: dir: ./data/blobs # rules are checked in descending order. if a blob matches a rule it is kept # "type" (required) the type of the blob, "*" can be used to match any type # "expiration" (required) time passed since last accessed # "pubkeys" (optional) a list of owners # any blobs not matching the rules will be removed rules: # mime type of blob - type: text/* # time since last accessed expiration: 1 month - type: "image/*" expiration: 1 year - type: "video/*" expiration: 5 days - type: "model/*" expiration: 1 week - type: "*" expiration: 2 days upload: # enable / disable uploads enabled: true # require auth to upload requireAuth: true # only check rules that include "pubkeys" requirePubkeyInRule: false list: requireAuth: true allowListOthers: false tor: enabled: false proxy: ""
  • Stuck on packaging

    3
    2 Votes
    3 Posts
    459 Views
    jadudmJ
    Many thanks, @james. The text was absolutely helpful. Also, that diff hint is gold. I may end up with a PR against the docs when I'm done, because that kind of hint is a nice trick to figure out quickly all the places an app touches the disk.
  • Deepcode successfully installed in LAMP App

    3
    0 Votes
    3 Posts
    335 Views
    robiR
    @joseph Yes, I thought I mentioned that just before the apache app.conf. It does. Thanks for chiming in!
  • [Package] Typesense Search Engine - Fast, Typo-Tolerant Search

    15
    8 Votes
    15 Posts
    2k Views
    Dave SwiftD
    Hi @girish, @nebulon, and team, I've updated the Typesense package to address the backup roadblock from the docs (https://typesense.org/docs/guide/backups.html#backup-steps). This should make it compatible with Cloudron's strategy for database-like apps. Key changes in v29.0.1: Added "localstorage" addon for persistent /app/data (includes DB files and snapshots). Defaulted data-dir to /app/data in start.sh. Added backup.sh to trigger a full server snapshot via /operations/snapshot API, saving to snapshots/latest.tar (relative to /app/data). It backs up all collections automatically and checks for success. Added restore.sh to untar latest.tar on startup if present, ensuring consistent restores. Improved logging for the API key in start.sh. Tested on my live install (search.daveswift.com with existing collections)—backup creates the snapshot file, and restore loads it on restart without issues. The snapshot is a complete dump of all data, per Typesense docs. Repo: https://github.com/clientamp/typesense-cloudron (changes on main, see CHANGELOG.md). Latest image: clientamp/typesense-cloudron:29.0.1 (or timestamped builds like 20250929-111100). For integration, Cloudron could run backup.sh via a hook before filesystem backup, then ignore raw DB files. Happy to add more (e.g., compression). Thanks!
  • Installing custom Apps on Cloudron

    71
    7 Votes
    71 Posts
    20k Views
    timconsidineT
    @scooke raises some valid points about user expectations, and I will freely admit that I am not sure where or how the line should be drawn. Conceptually there is indeed some friction between : user is not comfortable installing CLI tools and docker and using them, effectively setting a competence bar and edging them out of this activity making it easier to do what they're not comfortable with, effectively lowering that bar and inevitably encountering support requests if/when it becomes normal/easy to install unsupported apps (via @Kubernetes scripts, my tool or an official way) However I am clear on these points : installing custom apps should be easier (hence my app) : on one level, it's purely and simply a timesaver, e.g. for a user who is competent in installing apps, at least that's how I am using my tool currently nothing wrong in concept with Cloudron providing an official GUI for installing custom apps (Cloudron has already provided the CLI and know-how for non-gui) support line must be clear : Cloudron as a team/business are not responsible for custom apps (not supported, not maintained) if properly handled, easier installation of custom apps can reduce forum pressure on Cloudron team for new apps into the AppStore I like @scooke idea of a pop-up confirmation box or similar : clarity and disclaimer is good. Whether it goes as far as requiring a reboot of the Cloudron instance, I'm not sure. But I will add a disclaimer box to my app. Beyond that, it gets a bit unclear for me : does the packager provide support (my view : only optionally / voluntary / reasonable efforts) do packagers need a reputation score (my view : nice but not viable as a formal rating, who has time and authority to set these, instead maybe some unofficial star rating 1-5 from users with successful deployment of a custom app) can an installer for custom apps provide a monetisation mechanism (comment from @girish) which effectively incentivises packagers to work through the AppWishlist (my view : yes, it could, but it's another layer on-top) should support for installed custom apps be channelled (a) into an UNSUPPORTED category of existing Cloudron forum, or (b) very deliberately into a different forum (my view : B makes a point but A is easier and more natural) @scooke said in Installing custom Apps on Cloudron: Please do not turn Cloudron into another messy Yunohost. I agree 100% on this. It must definitely be the goal of any efforts in this area. Equally, IMHO, standing still is not an option. We have too many well-intentioned but actually not-our-business "lectures" about how Cloudron should expand, and also too many "please please please" requests, pointing to unmet user demand. We cannot be like King Canute trying to push the waves back.
  • Separate build and runtime images?

    3
    0 Votes
    3 Posts
    468 Views
    E
    Yes, thank you, this has worked perfectly!
  • Install new custom app with environment variables?

    8
    1 Votes
    8 Posts
    1k Views
    E
    @girish said in Install new custom app with environment variables?: @ekevu123 cloudron install --env ENV1=1 ENV2=2 --location subdomain . Then, you can verify using cloudron env list. Thank you! I think this is the best solution for this problem.
  • tcpPort routing

    routing ports
    3
    0 Votes
    3 Posts
    653 Views
    timconsidineT
    Thank you @James In the interim, I am attempting a workaround <can't find fingers-crossed emoji>
  • Failed to install app: 424 message: App purchase failed.

    10
    1 Votes
    10 Posts
    2k Views
    timconsidineT
    @girish thanks for looking into it all working now, so probably a glitch somewhere, not worth investigating further
  • [WIP] a Soulseek client with modern Web UI for Cloudron

    7
    3 Votes
    7 Posts
    4k Views
    SansGuidonS
    I've my Last.fm account since 2010, but nowadays I'm also scrobbling to https://listenbrainz.org/ as a backup in case Last.fm dies. I also aim to make my own scrobbler/stats independently from ListenBrainz and Last.fm, taking inspiration from https://coryd.dev/posts/2024/tracking-the-music-i-listen-to and https://sive.rs/ti
  • Custom subdomain per user

    4
    1 Votes
    4 Posts
    690 Views
    E
    Okay, thank you for the advise!
  • Trying to package Agate - A Gemini server

    15
    2 Votes
    15 Posts
    2k Views
    DidierMalenfantD
    Ok the docker issue is on their end. I'll wait until tomorrow to clean all the images on my repo up. I've posted about this app on the Wishlist section to see if there is any interest in putting in on the App Store.
  • Cloudron base image 5

    4
    1 Votes
    4 Posts
    1k Views
    timconsidineT
    @girish that’s what I thought initially, but I checked both of those and was able to carry on working other prjects while waiting. I don’t understand it, and can only put it down to a docker weirdness. After a while I noticed that local docker desktop was asking to update, and after that I cleared the docker environment. Then all is back to normal (whatever that is). Phew
  • Docs ref Admin Notes and Checklist in Manifest

    4
    1 Votes
    4 Posts
    797 Views
    timconsidineT
    Either going blind or maybe a cached page because I didn’t see that. Or just rushing too much Thank you
  • Working on many apps in this list and others - who wants to collaborate ?

    Moved
    12
    5 Votes
    12 Posts
    3k Views
    marcusquinnM
    @charlesnw Cool, sounds good. CLoudron's a great way to discover and test all these amazing things to FOSS world kindly shares with humanity. OpenWeb UI has recently changed their license model, so that migh become an issue: https://forum.cloudron.io/post/106732 Also, LibreChat is just a ton easier to add all the models to and keep up to dat, as Open WebUI needs continual copy/pasting/checking for updates to tools, functions, models code. It's just time-expensive keeping on top of that with multiple instances, and often doesn't have all the features a model offers kept up to date.
  • Multi-Domain setup in one app

    Moved
    10
    0 Votes
    10 Posts
    2k Views
    E
    Thank you for checking, I really appreciate it! I had one domain with HostEurope and one with Porkbun. I will look into Minio, but since that's a completely new codebase, and I might need to extract additional logs from that to understand the difference, I might not be able to do that.
  • Zabbix - Appdev Log

    29
    0 Votes
    29 Posts
    6k Views
    BrutalBirdieB
    As final message. After working with Zabbix for multiple years now. Having this as a Cloudron app is simply out of scope and not recommendable.
  • Custom App - httpPort not being proxied

    Solved
    7
    1 Votes
    7 Posts
    1k Views
    D
    @girish Thanks for clarifying. Now I'm on to fixing other bugs!