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

248 Topics 2.3k Posts

Subcategories


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

    33 Topics
    252 Posts
    D

    Hi everyone,

    I need help with the following tasks, specifically for use within Cloudron:

    Packaging a React App:

    I need assistance in setting up a React app to connect with Directus hosted on Cloudron.

    If possible, I’d like a detailed SOP (Standard Operating Procedure) to follow for future setups.

    Setting Up a Node.js or Next.js App with React:

    I want to create a new MySQL database for this app, hosted on Cloudron, and need guidance on setting up and working with this database.

    Again, having an SOP for future reference would be highly appreciated.

    I’m willing to pay for these services or would be grateful if someone could kindly share their expertise and the required SOPs.

    Thanks in advance!

  • git.cloudron.io working ?

    Solved
    9
    0 Votes
    9 Posts
    844 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
    2k 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
    7 Votes
    46 Posts
    4k 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
    728 Views
    timconsidineT

    @fbartels thanks, nice example 👍

  • Passing the Healthcheck on custom app

    18
    1 Votes
    18 Posts
    1k Views
    timconsidineT

    @nebulon thank you, will move the repo over

  • Any need to prune unused images ?

    Solved
    3
    1 Votes
    3 Posts
    452 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

    6
    0 Votes
    6 Posts
    760 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
    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
    696 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
    366 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
    218 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
    15k 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
    679 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
    594 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
    6k 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
    370 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