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
  • Install cloudron-cli on Code-Server

    code-server cloudron-cli
    6
    0 Votes
    6 Posts
    1k Views
    murgeroM
    @roru2k20 just git clone on a computer you have cloudron-cli installed then follow instructions in readme (skip docker build/push)
  • FORM.IO : attempting custom package

    10
    1
    3 Votes
    10 Posts
    1k Views
    timconsidineT
    @msbt thank you I've decided to 'step over' adjusting them in the config file (because I can't) and adjusted the app code to read the config file e.g. process.env.CLOUDRON_MONGODB_HOST as it is nodejs app Not there yet but making progress
  • Exposing big UDP ports range

    6
    0 Votes
    6 Posts
    976 Views
    girishG
    Right, just use the turn addon - https://docs.cloudron.io/packaging/addons/#turn
  • help me: How to clone private apps?

    2
    0 Votes
    2 Posts
    464 Views
    M
    @alphagroup if it's an actual clone, you can just install the initial app, create a backup and clone the app to a new (sub)domain for each customer. If they don't have access, you might want to check out the Cloudron CLI or API and build some Dashboard around that
  • Will Pay $$ for a custom LAMP app

    1
    1 Votes
    1 Posts
    252 Views
    No one has replied
  • Pass Cloudron ENV variables to pre-built Docker image

    7
    1 Votes
    7 Posts
    1k Views
    C
    @klawitterb Oh I see, good point, that part escaped my notice. Mediafiles are directly served by nginx and only the rest is forwarded to Gunicorn. #serve media files location /media/ { alias /app/data/mediafiles/; } # pass requests for dynamic content to gunicorn location / { proxy_set_header Host $http_host; proxy_pass http://localhost:8080; # -> this gos to Gunicorn } So with the Cloudron Nginx, static files would still be served from Gunicorn. SO I guess, it is worth the effort Thanks for that.
  • Sponsored App Creation

    Moved
    73
    7 Votes
    73 Posts
    20k Views
    robiR
    @privsec why? The two are separate things. Cloudron devs maintain the packaged updates, app maintainers the code.
  • Crowdfund people to package apps for Cloudron

    Moved
    15
    3 Votes
    15 Posts
    2k Views
    E
    @nebulon Great answer, thank you
  • Need help with my qBittorrent app

    6
    1 Votes
    6 Posts
    956 Views
    mehdiM
    @jodumont I believe the problem may come from the --daemon flag that you pass in the start.sh. Can you try removing that ?
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • 0 Votes
    3 Posts
    732 Views
    BrutalBirdieB
    @grienauer When I did my testing for the Valheim Server App I wrote this script to make testing easier. Note tho, this only works when not using any addons, but localstorage works with the local mount. #!/bin/bash # Function to get the user to input the needed vars get_vars () { read -p "Cloudron E-Mail: " EMAIL read -p "Cloudron Username: " USERNAME read -s -p "Cloudron Password: " PASSWORD read -p "Cloudron URL: " CLOUDRON_URL read -p "DOCKER REPOSITORY URL: " DOCKER_REPOSITORY_URL read -p "DOCKER USERNAME: " DOCKER_REPOSITORY_USERNAME read -p -s "DOCKER PASSWORD: " DOCKER_REPOSITORY_PASSWORD printf "EMAIL=$EMAIL\n USERNAME=$USERNAME\n PASSWORD=$PASSWORD\n CLOUDRON_URL=$CLOUDRON_URL\n DOCKER_REPOSITORY_URL=$DOCKER_REPOSITORY_URL\n DOCKER_REPOSITORY_USERNAME=$DOCKER_REPOSITORY_USERNAME\n DOCKER_REPOSITORY_PASSWORD=$DOCKER_REPOSITORY_PASSWORD\n " > .env } # check if .env file exists and read it or check if vars exsist if [ -f ".env" ]; then export $(egrep -v '^#' .env | xargs) &> /dev/null else echo ".env File missing - asking for required vars" get_vars fi if [ -z "$EMAIL" ] || [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] || [ -z "$CLOUDRON_URL" ] || [ -z "$DOCKER_REPOSITORY_URL" ] || [ -z "$DOCKER_REPOSITORY_USERNAME" ] || [ -z "$DOCKER_REPOSITORY_PASSWORD" ]; then echo "some vars are empty - asking for required vars" get_vars fi echo "=> Login Docker" docker login --username $DOCKER_REPOSITORY_USERNAME --password $DOCKER_REPOSITORY_PASSWORD $DOCKER_REPOSITORY_URL echo "=> Login Cloudron" cloudron login --username $USERNAME --password $PASSWORD my.$CLOUDRON_URL set -x # Get the ID and VERSION from the CloudronManifest.json ID=$(jq -r ".id" CloudronManifest.json) VERSION=$(jq -r ".version" CloudronManifest.json) echo "=> Create Test Data dir" mkdir -p ./cloudron_test/data ./cloudron_test/tmp ./cloudron_test/run echo "=> Cleanup Test Data" rm -rf ./cloudron_test/data/* ./cloudron_test/tmp/* ./cloudron_test/run/* echo "=> Build test image" cloudron build --set-repository $DOCKER_REPOSITORY_URL/$ID # docker build -t $DOCKER_REPOSITORY_URL/$ID:$VERSION . if [[ RUN_IMG = "" ]]; then read -p "Do you want to run the image created image?: (y/N)" RUN_IMG fi if [[ "$RUN_IMG" = "y" || "$RUN_IMG" = "Y" ]]; then echo "=> Run `test` tag of build image" docker run -ti --read-only \ --volume $(pwd)/cloudron_test/data:/app/data:rw \ --volume $(pwd)/cloudron_test/tmp:/tmp:rw \ --volume $(pwd)/cloudron_test/run:/run:rw \ $DOCKER_REPOSITORY_URL/$ID:$VERSION \ bash fi echo "=> Running tests" cd test echo "=> Running ncu - updating deps" ncu -u npm -i echo "=> Installing package.json" npm install if [[ -f ./node_modules/.bin/mocha ]]; then ./node_modules/.bin/mocha ./test.js -b fi if [[ -f ../node_modules/.bin/mocha ]]; then ../node_modules/.bin/mocha ./test.js -b fi # remove installed test instance echo "Cancel now if you wish to keep the app installed" sleep 10 cloudron uninstall --app test.$CLOUDRON_URL
  • Baserow Cloudron app - Airtable alternative

    Locked Solved
    57
    15 Votes
    57 Posts
    8k Views
    nebulonN
    I will lock this topic since the app is published by now and the forum section is https://forum.cloudron.io/category/136/baserow
  • Addon variables erased after restart?

    Solved
    3
    0 Votes
    3 Posts
    499 Views
    ?
    @girish hah, I didn’t realize there was an update! Thanks!!! I’m glad I wasn’t crazy there and it was a platform issue. I redid my package like 4 times thinking I was overriding the environment vars somehow
  • 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
    630 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
    581 Views
    ruihildtR
    Thanks, that's perfect.
  • Mail bounces when using recvmail and sendmail addons simultaneously

    Unsolved bug packaging addons
    6
    1 Votes
    6 Posts
    780 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
    2k 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?