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.4k Posts

Subcategories


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

    35 265
    35 Topics
    265 Posts
    J
    We have a https://git.cloudron.io/playground/ for such repos. TBF, it doesn't matter where your repo is hosted . Your link is equally sharable but you can also use ours if you think yours is more transient.
  • git.cloudron.io working ?

    Solved
    9
    0 Votes
    9 Posts
    2k Views
    timconsidineT
    @nebulon thanks Happened again for me last night Will see how it goes today
  • Chat channel for cloudron app packaging

    35
    0 Votes
    35 Posts
    4k Views
    nebulonN
    @grienauer we started out initially with a rocket.chat instance which is still alive and used mostly for internal communication though. Once we had this forum, we essentially wanted the community to move here, since the chat turned out to not be very helpful with issue and solution search-ability. Of course also no public indexing of the channels.
  • Desktop App

    46
    2
    7 Votes
    46 Posts
    6k Views
    murgeroM
    @necrevistonnezr That seems more for the host than installed in apps? Or am I misreading some of it?
  • Dockerfile with 2 x FROM sources

    7
    0 Votes
    7 Posts
    1k Views
    timconsidineT
    @fbartels thanks, nice example
  • Passing the Healthcheck on custom app

    18
    1 Votes
    18 Posts
    2k Views
    timconsidineT
    @nebulon thank you, will move the repo over
  • Any need to prune unused images ?

    Solved
    3
    1 Votes
    3 Posts
    697 Views
    timconsidineT
    @girish phew, thank you
  • Error while update npm-package

    Solved
    4
    0 Votes
    4 Posts
    2k Views
    R
    Thanks @mehdi and @nebulon My problem solved by deleting the package-lock.json. After that I can update this app and all works good. Thank you very much.
  • 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
    2k 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
    1k 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
    544 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
    262 Views
    No one has replied
  • Pass Cloudron ENV variables to pre-built Docker image

    7
    1 Votes
    7 Posts
    2k 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
    23k 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
    1k 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
    812 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
    10k 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
    603 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