Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Packaging & Development
  3. How to package third-party apps, with example

How to package third-party apps, with example

Scheduled Pinned Locked Moved App Packaging & Development
5 Posts 3 Posters 674 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    ekevu123
    wrote on last edited by
    #1

    I am not super skilled at packaging, but I would like to learn more.

    Let's say I would want to self-host this app on Cloudron, which has two options, the local source code and the docker compose option.

    Can I simply package the source code with a Cloudron Manifest and a Dockerfile, configure perhaps the postgres and redis addons, and then potentially run it?

    Or does this require a bigger operation within the source code?

    And what does it depend on, if I can modify an app to run on Cloudron or not? Also, would this be very bad to re-package an app that was meant to use docker compose for a cloudron app, except of the obvious "I cannot scale different parts of the app independently"?

    Maybe I can also understand the work of the people running the cloudron app store better this way 😊

    girishG 1 Reply Last reply
    1
    • luckowL Offline
      luckowL Offline
      luckow
      translator
      wrote on last edited by
      #2

      Have you looked into https://docs.cloudron.io/packaging/tutorial/ ?

      Pronouns: he/him | Primary language: German

      E 1 Reply Last reply
      1
      • luckowL luckow

        Have you looked into https://docs.cloudron.io/packaging/tutorial/ ?

        E Offline
        E Offline
        ekevu123
        wrote on last edited by
        #3

        @luckow Yes, and I have even done it before, but I have never packaged someone else's app, so this doesn't answer my question.

        1 Reply Last reply
        0
        • E ekevu123

          I am not super skilled at packaging, but I would like to learn more.

          Let's say I would want to self-host this app on Cloudron, which has two options, the local source code and the docker compose option.

          Can I simply package the source code with a Cloudron Manifest and a Dockerfile, configure perhaps the postgres and redis addons, and then potentially run it?

          Or does this require a bigger operation within the source code?

          And what does it depend on, if I can modify an app to run on Cloudron or not? Also, would this be very bad to re-package an app that was meant to use docker compose for a cloudron app, except of the obvious "I cannot scale different parts of the app independently"?

          Maybe I can also understand the work of the people running the cloudron app store better this way 😊

          girishG Offline
          girishG Offline
          girish
          Staff
          wrote on last edited by
          #4

          @ekevu123 said in How to package third-party apps, with example:

          Can I simply package the source code with a Cloudron Manifest and a Dockerfile, configure perhaps the postgres and redis addons, and then potentially run it?

          yes, that's pretty much what Cloudron packaging is.

          Or does this require a bigger operation within the source code?

          I guess you are asking if you have to patch the source code? Then the answer is no. In fact, patching upstream code is heavily discouraged and simply not done (for packages published in the app store).

          Also, would this be very bad to re-package an app that was meant to use docker compose for a cloudron app, except of the obvious "I cannot scale different parts of the app independently"?

          The compose file is at https://github.com/langgenius/dify/tree/main/docker . For a start, you should check what deps they require (like do they need a specific database and/or extensions). If they require very specific things, it would not be a good candidate for Cloudron . Most apps are flexible but this one is a LLM app, those things have crazy db and software requirements.

          1 Reply Last reply
          0
          • E Offline
            E Offline
            ekevu123
            wrote on last edited by
            #5

            Thank you for the detailed response! Since this app doesn't run the LLM itself, the system requirements are less heavy.

            But wouldn't everything that wasn't attached to Cloudron just run inside the container? I mean, let's say I write a dockerfile for this app, but "forget" to use the postgres addon of cloudron. Wouldn't the app still run, but with the database inside the app, so it would be overwritten upon updating?

            Other than that, this app seems to have a sandbox container and one for vector databases, which couldn't be rebuilt easily in Cloudron.

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Bookmarks
            • Search