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

258 Topics 2.3k Posts

Subcategories


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

    34 260
    34 Topics
    260 Posts
    osoboO
    Hello everyone, I am developing a non-profit animation studio and would like to ask for help in packaging the Kitsu production tracker app. I would like to use it on my Cloudron instance where authenticated users would be able to access-it. I've submitted the app to the Cloudron wish list, but I don't expect it to be picked up any time soon. The developers provide a docker file, but for some reason it is not recommended for production. If anyone is interested, please send me a direct message and we can discuss compensation. Best wishes OsObO
  • Custom app container startup arguments

    17
    0 Votes
    17 Posts
    2k 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
    2k 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
    866 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
    607 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
    593 Views
    girishG
    Moved the discussion to https://forum.cloudron.io/topic/1709/code-server-vs-code-online
  • Lunatic

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

    2
    1 Votes
    2 Posts
    282 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
    3k Views
    BrutalBirdieB
    @infogulch RTFM myself nice catch, thanks for that.
  • Cloudron build service and docker registry

    6
    0 Votes
    6 Posts
    924 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
  • Need help with PHP Server Monitor packaging

    10
    4 Votes
    10 Posts
    1k Views
    M
    @girish awesome, works perfectly from what I can see!
  • LDAP logs

    Solved
    10
    0 Votes
    10 Posts
    1k Views
    ultravioletU
    @nebulon awesome thank you
  • Adding ldap add-on to Cloudron manifest

    9
    0 Votes
    9 Posts
    1k Views
    LonkleL
    Was going through my Open VPN development log (since I'm prepping to make this all a reality in 6.1) being all nostalgic and found out when I ran into this issue, what a funny coincidence: https://forum.cloudron.io/post/16266
  • Guide - Packaging frontend only apps

    4
    6 Votes
    4 Posts
    628 Views
    ?
    @nebulon I had an issue with my instance and had to reinstall it and re upload the videos. https://video.lahijiapps.dev/videos/watch/00513e5f-e6b2-479a-af97-eca787cd1380
  • Free Docker Handbook

    1
    2 Votes
    1 Posts
    336 Views
    No one has replied
  • Yarn package building issue

    6
    1 Votes
    6 Posts
    1k Views
    girishG
    I will remove the apt installation and make it npm installation because that's what upstream recommends - https://classic.yarnpkg.com/en/docs/install/#debian-stable
  • I want to create an app that turns an email into a web hook

    12
    0 Votes
    12 Posts
    2k Views
    jimcavoliJ
    @lonk That's a totally valid, effective way to do it. Probably the most instantaneous of all the things mentioned, since it seems speed/latency is a priority for you. Lambda's not that bad to write code for - if you get pretty advanced with it, you can really run nearly any language on the platform, though the officially supported Java, Go, PowerShell, Node.js, C#, Python, and Ruby are the easiest options. You've got a lot of choices there.
  • Request screenshots for translation

    4
    1 Votes
    4 Posts
    574 Views
    girishG
    Better screenshot with the drop down options: [image: 1611611218083-3ce999e4-4e45-461d-8cd9-fccff4fc2e23-image.png]
  • Kitchen CI & InSpec

    1
    0 Votes
    1 Posts
    288 Views
    No one has replied
  • Do apps that require Firebase, Preact, and IDB work on Cloudron?

    6
    0 Votes
    6 Posts
    802 Views
    mehdiM
    @humptydumpty Yes, using firebase indeed means that Google will have access to all the data