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

262 Topics 2.4k 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
  • Pyston speeds up Python

    5
    0 Votes
    5 Posts
    858 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
    241 Views
    No one has replied
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    6 Views
  • Zabbix - Appdev Log

    28
    0 Votes
    28 Posts
    2k Views
    BrutalBirdieB
    @jasimkp expected since I never finished packaging the app fully. So right now the zabbix app is not functional. ps: please use code blocks for copy-pasting logs. 121795:20210614:100301.800 Starting Zabbix Server. Zabbix 5.4.1 (revision ecb5b3378c). 121795:20210614:100301.800 ****** Enabled features ****** 121795:20210614:100301.800 SNMP monitoring: YES 121795:20210614:100301.800 IPMI monitoring: YES 121795:20210614:100301.800 Web monitoring: YES 121795:20210614:100301.800 VMware monitoring: YES 121795:20210614:100301.800 SMTP authentication: YES 121795:20210614:100301.800 ODBC: YES 121795:20210614:100301.800 SSH support: YES 121795:20210614:100301.800 IPv6 support: YES 121795:20210614:100301.800 TLS support: YES 121795:20210614:100301.800 ****************************** 121795:20210614:100301.801 using configuration file: /etc/zabbix/zabbix_server.conf 121795:20210614:100301.831 current database version (mandatory/optional): 05040000/05040000 121795:20210614:100301.831 required mandatory version: 05040000 121795:20210614:100301.864 server #0 started [main process] 121796:20210614:100301.865 server #1 started [configuration syncer #1] 121797:20210614:100301.971 server #2 started [housekeeper #1] 121798:20210614:100301.972 server #3 started [timer #1] 121799:20210614:100301.973 server #4 started [http poller #1] 121801:20210614:100301.973 server #6 started [history syncer #1] 121800:20210614:100301.974 server #5 started [discoverer #1] 121808:20210614:100301.978 server #13 started [task manager #1] 121810:20210614:100301.978 server #15 started [poller #2] 121812:20210614:100301.980 server #17 started [poller #4] 121814:20210614:100301.982 server #19 started [unreachable poller #1] 121816:20210614:100301.983 server #21 started [trapper #2] 121818:20210614:100301.984 server #23 started [trapper #4] 121819:20210614:100301.986 server #24 started [trapper #5] 121821:20210614:100301.987 server #26 started [alert manager #1] 121823:20210614:100301.987 server #28 started [alerter #2] 121824:20210614:100301.988 server #29 started [alerter #3] 121831:20210614:100301.991 server #35 started [lld worker #1] 121802:20210614:100301.992 server #7 started [history syncer #2] 121804:20210614:100301.993 server #9 started [history syncer #4] 121805:20210614:100301.993 server #10 started [escalator #1] 121806:20210614:100301.994 server #11 started [proxy poller #1] 121807:20210614:100301.994 server #12 started [self-monitoring #1] 121803:20210614:100301.994 server #8 started [history syncer #3] 121809:20210614:100301.995 server #14 started [poller #1] 121811:20210614:100301.997 server #16 started [poller #3] 121813:20210614:100301.998 server #18 started [poller #5] 121815:20210614:100301.999 server #20 started [trapper #1] 121817:20210614:100302.000 server #22 started [trapper #3] 121820:20210614:100302.001 server #25 started [icmp pinger #1] 121822:20210614:100302.001 server #27 started [alerter #1] 121825:20210614:100302.002 server #30 started [preprocessing manager #1] 121830:20210614:100302.003 server #34 started [lld manager #1] 121833:20210614:100302.003 server #36 started [lld worker #2] 121835:20210614:100302.003 server #38 started [history poller #1] 121839:20210614:100302.004 server #40 started [history poller #3] 121834:20210614:100302.008 server #37 started [alert syncer #1] 121838:20210614:100302.008 server #39 started [history poller #2] 121842:20210614:100302.010 server #41 started [history poller #4] 121843:20210614:100302.010 server #42 started [history poller #5] 121844:20210614:100302.011 server #43 started [availability manager #1] 121810:20210614:100302.475 enabling Zabbix agent checks on host "Zabbix server": interface became available 121801:20210614:100353.012 item "Zabbix server:zabbix[process,ipmi poller,avg,busy]" became not supported: No "ipmi poller" processes started. 121801:20210614:100353.012 item "Zabbix server:zabbix[process,java poller,avg,busy]" became not supported: No "java poller" processes started. 121795:20210614:100359.163 Got signal [signal:15(SIGTERM),sender_pid:123063,sender_uid:0,reason:0]. Exiting ... 121801:20210614:100359.163 syncing history data in progress... 121801:20210614:100359.166 syncing history data done 121795:20210614:100401.190 syncing trend data... 121795:20210614:100401.214 syncing trend data done 121795:20210614:100401.214 Zabbix Server stopped. Zabbix 5.4.1 (revision ecb5b3378c).
  • 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
    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
    697 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
    661 Views
    girishG
    Moved the discussion to https://forum.cloudron.io/topic/1709/code-server-vs-code-online
  • Lunatic

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

    2
    1 Votes
    2 Posts
    316 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
    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
  • Need help with PHP Server Monitor packaging

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

    Solved
    10
    0 Votes
    10 Posts
    2k 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
    690 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
    365 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