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

267 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.
  • 1 Votes
    3 Posts
    565 Views
    d19dotcaD
    @fbartels Okay I'll try that then, thanks man. Disappointed that GitLab doesn't seem to have a way to do that as other Git servers do, but oh well. I'll try with the CLI part then. Thanks again.
  • Finishing the VPN Client app's functionality

    5
    0 Votes
    5 Posts
    402 Views
    LonkleL
    @girish said in Finishing the VPN Client app's functionality: Since, async functions can get some time to get used to, what you can do as a "hack" for now is to just set a property in appdb. For example, add a line https://git.cloudron.io/cloudron/box/-/blob/master/src/appdb.js#L59 like result.networkId = container:vpncontainerappid. Then you have this properly available in the docker.js code. I think the final code will anyway read the networkId from the app table, so your code won't require much change if you do something like above. That’s perfect. I hated how hacky my solution was so I’m going to to recode it in the way you described. Doing it the way you described also allows me to add a comma-delimited list of all VPN containers thus supporting more than one VPN client running simultaneously on Cloudron (my hacky code only allows for a single OpenVPN client). I need to add the container name to the DB and the internal IP of the running vpn client container. Both are essential. Then when any user chooses to connect to the VPN then that specific app will restart and be configured to route all outgoing traffic to it. The only caveat in all of this is that though technically an unlimited amount of web apps can connect to the vpn client, a limitation is that the web apps can’t share the same exposed port as any of the others. This is gotten around in Docker by binding randomized ports to the exposed port. But when you connect to a VPN Client, you have to be running on the same IP so you lose the ability to Docker “bind.” There may be a way around this using Docker Connect -link argument. But I think the same caveat would apply and that would only solve the problem of having the app not have to do a quick restart to connect. But I’ll make sure. ️
  • App Dev label on user profile on these forums.

    5
    4 Votes
    5 Posts
    838 Views
    marcusquinnM
    @Lonk community karma
  • Wanted to give a public shoutout to FBartels

    Moved
    10
    12 Votes
    10 Posts
    2k Views
    LonkleL
    @jdaviescoates I’m an idiot, you’re absolutely right: https://forum.cloudron.io/topic/2686/live-stream-on-creating-an-app-for-cloudron?_=1602281676588 This is the clip that made me a Cloudron developer enthusiast. I think it could help anyone / everyone starting out. Also, if anyone has any questions let me know. I had to take the week off work due to a hugely personal situation. But I’ll be back on Monday full steam on the forum and would love to help any new developers (in the same way @fbartels helped me, indirectly). I don’t know as much about box as @girish but if someone is making an app that needs deeper level dockerode / Docker / node knowledge - let me know. It took me 4 days to understand how node asynchronicity worked. So if I can help someone turn that into one day. I can tell you how do to so. Note: Cloudron box uses callback Node methodology so when researching it, make sure to look into that type of methodology when it comes to handling asynchronousity since this project was started in the timeframe callbacks were the most popular.
  • How can I use npm install after deploying an app?

    6
    0 Votes
    6 Posts
    1k Views
    girishG
    @msbt I faced a similar issue with node-red. While I haven't tried it yet, I think what we want is to set NODE_PATH. See https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders . I guess we set NODE_PATH=/app/data/custom-modules or something ?
  • Need help using cloudron's gitlab

    6
    1
    0 Votes
    6 Posts
    893 Views
    girishG
    Looks like importing is some admin specific functionality. Oh, well.
  • How updates work?

    13
    1 Votes
    13 Posts
    2k Views
    LonkleL
    @d19dotca I definitely see a case for making it optional especially because then it helps those of us who want to build our apps for the Cloudron App Store to test updates out and have them deploy exactly the same as official App Store apps.
  • 1 Votes
    3 Posts
    622 Views
    R
    Great, this works well.
  • Terminal reconnect after few seconds

    Solved
    5
    1
    1 Votes
    5 Posts
    879 Views
    R
    Good morning, I found the problem. It was a supervisor misconfiguration. I copied a wrong template with a logging path that was unreachable. Thanks
  • Install own app failed with No CloudronManifest.json found

    Solved cli packaging
    14
    0 Votes
    14 Posts
    2k Views
    nebulonN
    Glad it solved itself
  • 0 Votes
    17 Posts
    3k Views
    girishG
    @JOduMonT Yup, we are waiting for the next peertube release to make it stable (there is a bug in current release which makes it hard to finish the setup) and then start posting videos there.
  • Manifest recvmail

    Moved addon recvmail packaging
    5
    0 Votes
    5 Posts
    908 Views
    ultravioletU
    thanks @girish makes sense!