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

269 Topics 2.5k Posts

Subcategories


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

    35 268
    35 Topics
    268 Posts
    C
    The prompt file is here : https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Cloudron/CloudronPackagePrompt.md I’ve been busy building out the front office (physical facilities ) of my rental businesses. That’s finishing up this weekend. So now I’m coming back to building out the middle / back office , and that means lots of cloudron packaging!
  • HowTo install Cloudron CLI on Windows

    windows cloudron-cli howto install
    11
    1
    2 Votes
    11 Posts
    2k Views
    murgeroM
    @jodumont If you run the node file for cloudron directly (add it to your PATH) you don't need the set-executionpolicy bit. Node is separate from powershell and as such it can run without that.
  • PMS and mysql

    Solved
    3
    0 Votes
    3 Posts
    778 Views
    ultravioletU
    @nebulon Thanks thought that might be the answer.
  • Create an SQL dump from a cloudron app postgres db

    Solved
    3
    0 Votes
    3 Posts
    681 Views
    ruihildtR
    Thanks, that's perfect.
  • Mail bounces when using recvmail and sendmail addons simultaneously

    Unsolved bug packaging addons
    6
    1 Votes
    6 Posts
    934 Views
    girishG
    @jimcavoli I think that makes sense. Let me see if I can get the recvmail addon working again, should be straightforward. For your suggestion of having a "selector" in the email UI, we did exactly that for sendmail addon in the previous release. So, we can do the same for recvmail as well I guess. Let me investigate.
  • Custom Lamp App Cloudron Build Error

    Moved Solved
    15
    0 Votes
    15 Posts
    2k Views
    arshsahzadA
    @girish Now It's working, thanks for your help
  • Addon request: blob storage (s3)

    13
    4 Votes
    13 Posts
    3k Views
    infogulchI
    @moocloud_matt As soon as someone comes in reporting a real case that their NIC is saturated and it's slowing down their server I'd be interested in pursuing a solution. I've never seen such a real case on these forums (though I may just be misinformed) so I'd have to tilt towards YAGNI until one appears. Object storage is not magic, it's just data like everything else. If it's just used to serve file attachments for an app with 25 users I wouldn't expect it to be a bottleneck.
  • Run docker service in Docker container

    6
    0 Votes
    6 Posts
    1k Views
    murgeroM
    @roru2k20 I have a package already that has code-server, would you like to get access to the repo?
  • Pyston speeds up Python

    5
    0 Votes
    5 Posts
    1k Views
    MooCloud_MattM
    @atridad it's not so easy, you need to compile all the C extensions modules that you are using. For example, are not compatible libraries because there's no way to easily compile them are tensorflow, pytorch. But in generaly Yes is compatible with all the python code because it's a fork of its default interpreter/compiler CPython.
  • Cube.js - The Analytics API for Building Data Apps

    1
    1
    0 Votes
    1 Posts
    271 Views
    No one has replied
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    6 Views
  • Custom app container startup arguments

    17
    0 Votes
    17 Posts
    3k Views
    fbartelsF
    @girish said in Custom app container startup arguments: these variables can then be configured by UI ? Also, I guess you are expecting these variables to become exposed as environment variables to the app? I like the way this is implemented in the univention app center. The format of the settings (there they use the ini format) is explained in https://docs.software-univention.de/app-provider-5.0.html#app-settings:reference. It defines different types of settings and allows to template default values (even custom drop downs). The values are then stored in a file in the container and scripts can be triggered inside and outside of the container to react on changes. Outside is probably not necessary here.
  • Help needed to package app

    15
    0 Votes
    15 Posts
    3k Views
    XCSX
    @marcusquinn Thanks a lot for the comments, really useful! I have actually received several similar suggestions regarding the userTrack name. I thought about it for a long time, but for now I have no plans of changing it. A big reason is that when people are Googling for "user tracking" they will stumble upon userTrack, which is one of the most privacy-friendly solutions for "tracking" users (self-hosted, cookieless, hashed IPs, multiple privacy settings, etc.). This is in some way similar to getting "earthIsFlat dot com" and posting on it content that proves the earth is not flat. Another reason why I am still using the name is because it's self-hosted, so the web administrator can actually name the user-facing scripts whatever he wants. I agree that a more user-friendly name could help, but currently the existing brand power and SEO benefits make this change unlikely to happen. I highly recommend looking at the EspoCRM, Wordpress, Matomo open-source, premium add-ons business-models I have considered and tried many pricing models over the years. Working on userTrack for over 9 years I have also always watched other similar platforms and their business model and always debated whether going open-source would help or kill the project. For example, Matomo is really awesome and it's open-source, but their focus is NOT on the open-source part. Being a business, their focus is to attract users to their premium offering so their open-source version drops in quality/features (some core features are only available for the cloud plans for a very high cost). Open-source is not free of cost for users, they pay you with their time, testing and feedback This is true, but keep in mind that paying users also pay with their time, testing and feedback too. Don't cut off that source of improvement, just get better at managing a public Git*** repo and issues, embrace the community spirit, and I'm sure you will have great success - including here Doing open-source well is REALLY hard. Take Matomo for example, which is a huge organization, yet their repo has thousands of open issues and tens of unmerged Pull Requests. Although this seems like good activity, in the end I feel like it also means many human-hours of effort have been wasted trying to create, analyze, accept/reject all those suggestions. All this while the user-facing progress is overall slow and the platform starts to feel outdated. I also recommend watching this great talk about the not-so-good parts of open-source. I am not saying in any way that userTrack will never ever be open-sourced, but for my current goals with the project this is currently a no-go (working on userTrack as a shared/paid-source project for over 9 years has worked really well and most of the customers are extremely happy with the product). I want to mention that it's not about the money, it's mostly that switching userTrack to open-source would move my focus away from my envisioned end-goal for the product and self-hosting ecosystem. I wouldn't consider anything with compiled or obfuscated code in though - and would spend 5 times the amount to have it decompiled and published userTrack's source-code was actually entirely unobfuscated and visible up until v3 when I rewrote the entire application in TypeScript and React. Because those technologies require a building process, which means dev tools and maintaining a dev documentation, I realized that I wouldn't be able to provide a proper developer experience while focusing on improving the product. My goal now is to create an awesome product that just works, without having to fiddle with code (so the target audience also includes non-programmers). That being said, the server side (PHP, MySQL) and tracking (JS tracker) source code of userTrack is completely visible and unobfuscated. The only obfuscated part is the JS of the interface (dashboard UI) only because changing it would require me to provide numerous extra development tools and write extensive documentation. My plan is to soon add a way to extend userTrack (eg. via plugins), so you can still customize the dashboard if you want but without having to learn and setup a complex dev environment. Thanks again a lot for sharing your opinions, it's really useful to know how different communities have different opinions on how a product should be in order to be useful for them.
  • Resources blocked by X-Content-Type-Options: nosniff

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    jeauJ
    @girish yes
  • Possibility of running Univention Server as a Cloudron App

    10
    1 Votes
    10 Posts
    2k Views
    robiR
    As we get Sysbox into Cloudron as a default runc, that will enable many more of these use cases.
  • Cross-app dependencies

    5
    0 Votes
    5 Posts
    892 Views
    infogulchI
    we usually find that these extensions are usually very specific and sometimes it is way more work to write a general system than just hard coding it One of the things I recognized right away about the way you guys develop Cloudron is a laser focus on implementing practical, minimal, incremental solutions instead of chasing maximum general power right out of the gate. It leads to a more stable system that I don't have to constantly fuss over -- thank you for that! I agree that this is probably the right approach for matrix plugins as well, at least for now. I think the way issue 569 was resolved is a good example of this. I think it makes more sense to continue the matrix discussion on that thread, which I just replied to. Thanks for taking the time to read and respond.
  • Visual Studio Code App

    Locked
    2
    3 Votes
    2 Posts
    788 Views
    girishG
    Moved the discussion to https://forum.cloudron.io/topic/1709/code-server-vs-code-online
  • Lunatic

    1
    1 Votes
    1 Posts
    425 Views
    No one has replied
  • Cross-App Shared Storage and Jupyter

    2
    1 Votes
    2 Posts
    382 Views
    girishG
    First, can you upload the jupyter app info to https://git.cloudron.io/cloudron? It seems to be missing. The name is a bit different since it's based on the upstream hub project - https://git.cloudron.io/cloudron/jupyterhub-app Are the rest of the questions somehow related to Jupyter? I will try my best to answer them but I am missing the context. If you can give me the use case for each of the questions below, I can help further. Is there some good way to just flag certain directories as to be preserved? Only /app/data is preserved. Even symlinking won't work since the backup logic does not follow symlinks. So far, we are yet to encounter an app that cannot be covered with a single directory. Can we create our own addons? How hard would that be? addons are part of the platform. they are not hard at all, they are just docker containers with a "service" API. But they require quite a bit of work and testing. What new addon are you thinking of? Could a modified version of "proxyAuth" let you spin up separate per-user instances of an app? I think I understand what you are asking for. For example, there are some "single user" apps. Would be nice to somehow spin multiple instances of these "single user" apps. IMO, would be best to somehow make those apps multi-user Given most of the apps are opensource, time can be spent contributing upstream. A workaround is of course install an instance of an app for each user... Is cross-app file sharing a thing? Something like a shared mounted drive? See Voilumes. You can create a directory on the server and create a volume. Then this volume is mounted into any number of apps you want.
  • 8 Votes
    24 Posts
    4k Views
    BrutalBirdieB
    @infogulch RTFM myself nice catch, thanks for that.
  • Cloudron build service and docker registry

    6
    0 Votes
    6 Posts
    1k Views
    ultravioletU
    @girish was that fixed in a recent cloudron update? My dev rig is on 6.1.2] EDIT: nevermind, re-read the release notes