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. ChatGPT for packaging Cloudron Apps

ChatGPT for packaging Cloudron Apps

Scheduled Pinned Locked Moved App Packaging & Development
11 Posts 5 Posters 1.5k Views 5 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.
  • robiR Offline
    robiR Offline
    robi
    wrote on last edited by
    #1

    I just thought about asking it to generate a manifest file for Rust Desk and it said it wasn't an existing app.

    Then I gave it the URL of the github repo and this is what it generated:

    I apologize for the confusion, given that now I have access to the source code of the RustDesk-server, I can provide you with an example of a Cloudron manifest file for this application. Keep in mind that this is just an example and you will need to adjust the values to match the specific requirements of your setup.
    
    {
        "id": "com.example.rustdesk",
        "version": "1.0.0",
        "name": "RustDesk",
        "title": "RustDesk",
        "description": "RustDesk is a open-source, self-hosted, desktop-as-a-service",
        "icon": "rustdesk-icon.png",
        "homepage": "https://rustdesk.com",
        "location": "https://rustdesk.com",
        "type": "webapp",
        "accessRestriction": "public",
        "accessRestrictionReason": "",
        "manifestVersion": 1,
        "dependencies": {
            "domains": [
                {
                    "domain": "rustdesk.com"
                }
            ],
            "services": [
                {
                    "type": "http"
                }
            ],
            "ports": [
                {
                    "name": "http",
                    "protocol": "tcp",
                    "public": true,
                    "port": 3000
                }
            ]
        },
        "config": {
            "env": {
                "DATABASE_URL": "postgres://username:password@host:port/database",
                "APP_SECRET": "secret_key"
            },
            "command": "cargo run --release",
            "appUser": "rustdesk",
            "appGroup": "rustdesk",
            "workingDir": "/app/rustdesk-server"
        }
    }
    
    
    This manifest file assumes that the application is listening on port 3000, that is using a postgres database, and that you have set the DATABASE_URL and APP_SECRET environment variable.
    It also assumes that the application is built with rust and cargo and that the source code is located in a folder named "rustdesk-server".
    
    Please keep in mind that you will need to adjust the values for the id, version, name, title, description, icon, homepage and location accordingly.
    Also, you will need to adjust the dependencies, config and other fields to reflect the actual requirements of your application.
    
    You can find more information about how to package an application for Cloudron in the official documentation: https://cloudron.io/documentation/apps/packaging/
    

    πŸ™Œ

    Conscious tech

    BrutalBirdieB L timconsidineT 3 Replies Last reply
    5
    • robiR robi

      I just thought about asking it to generate a manifest file for Rust Desk and it said it wasn't an existing app.

      Then I gave it the URL of the github repo and this is what it generated:

      I apologize for the confusion, given that now I have access to the source code of the RustDesk-server, I can provide you with an example of a Cloudron manifest file for this application. Keep in mind that this is just an example and you will need to adjust the values to match the specific requirements of your setup.
      
      {
          "id": "com.example.rustdesk",
          "version": "1.0.0",
          "name": "RustDesk",
          "title": "RustDesk",
          "description": "RustDesk is a open-source, self-hosted, desktop-as-a-service",
          "icon": "rustdesk-icon.png",
          "homepage": "https://rustdesk.com",
          "location": "https://rustdesk.com",
          "type": "webapp",
          "accessRestriction": "public",
          "accessRestrictionReason": "",
          "manifestVersion": 1,
          "dependencies": {
              "domains": [
                  {
                      "domain": "rustdesk.com"
                  }
              ],
              "services": [
                  {
                      "type": "http"
                  }
              ],
              "ports": [
                  {
                      "name": "http",
                      "protocol": "tcp",
                      "public": true,
                      "port": 3000
                  }
              ]
          },
          "config": {
              "env": {
                  "DATABASE_URL": "postgres://username:password@host:port/database",
                  "APP_SECRET": "secret_key"
              },
              "command": "cargo run --release",
              "appUser": "rustdesk",
              "appGroup": "rustdesk",
              "workingDir": "/app/rustdesk-server"
          }
      }
      
      
      This manifest file assumes that the application is listening on port 3000, that is using a postgres database, and that you have set the DATABASE_URL and APP_SECRET environment variable.
      It also assumes that the application is built with rust and cargo and that the source code is located in a folder named "rustdesk-server".
      
      Please keep in mind that you will need to adjust the values for the id, version, name, title, description, icon, homepage and location accordingly.
      Also, you will need to adjust the dependencies, config and other fields to reflect the actual requirements of your application.
      
      You can find more information about how to package an application for Cloudron in the official documentation: https://cloudron.io/documentation/apps/packaging/
      

      πŸ™Œ

      BrutalBirdieB Offline
      BrutalBirdieB Offline
      BrutalBirdie
      Partner
      wrote on last edited by BrutalBirdie
      #2

      @robi ChatGPT is really awesome.

      I really hope tools like this will disrupt the education system, since many of these systems are very broken.

      Here! Learn these facts/data and then write an essay.
      With ChatGPT these homework tasks or assignments are meaningless. As they where before!

      Since it was only about learning facts, spitting them out and forget them again.

      The school systems need to focus on learning how to learn again.
      How to do proper research, how to validate information, how to use the tools of our time to generate valuable research.

      I remember many of my school days simple reading the same page 20 times just to memorize information for an exam and then never using that information ever again.

      I could rant to much more about the school system πŸ˜„

      Looking forward to the Anti-ChatGPT-AI to them be counter by an AntiAnti-ChatGPT-AI and so on.
      Like its been for many years in the video game cheating industry.
      An arms race but with AI, the AI on AI warfare πŸ˜›

      Like my work? Consider donating a drink. Cheers!

      1 Reply Last reply
      2
      • robiR robi

        I just thought about asking it to generate a manifest file for Rust Desk and it said it wasn't an existing app.

        Then I gave it the URL of the github repo and this is what it generated:

        I apologize for the confusion, given that now I have access to the source code of the RustDesk-server, I can provide you with an example of a Cloudron manifest file for this application. Keep in mind that this is just an example and you will need to adjust the values to match the specific requirements of your setup.
        
        {
            "id": "com.example.rustdesk",
            "version": "1.0.0",
            "name": "RustDesk",
            "title": "RustDesk",
            "description": "RustDesk is a open-source, self-hosted, desktop-as-a-service",
            "icon": "rustdesk-icon.png",
            "homepage": "https://rustdesk.com",
            "location": "https://rustdesk.com",
            "type": "webapp",
            "accessRestriction": "public",
            "accessRestrictionReason": "",
            "manifestVersion": 1,
            "dependencies": {
                "domains": [
                    {
                        "domain": "rustdesk.com"
                    }
                ],
                "services": [
                    {
                        "type": "http"
                    }
                ],
                "ports": [
                    {
                        "name": "http",
                        "protocol": "tcp",
                        "public": true,
                        "port": 3000
                    }
                ]
            },
            "config": {
                "env": {
                    "DATABASE_URL": "postgres://username:password@host:port/database",
                    "APP_SECRET": "secret_key"
                },
                "command": "cargo run --release",
                "appUser": "rustdesk",
                "appGroup": "rustdesk",
                "workingDir": "/app/rustdesk-server"
            }
        }
        
        
        This manifest file assumes that the application is listening on port 3000, that is using a postgres database, and that you have set the DATABASE_URL and APP_SECRET environment variable.
        It also assumes that the application is built with rust and cargo and that the source code is located in a folder named "rustdesk-server".
        
        Please keep in mind that you will need to adjust the values for the id, version, name, title, description, icon, homepage and location accordingly.
        Also, you will need to adjust the dependencies, config and other fields to reflect the actual requirements of your application.
        
        You can find more information about how to package an application for Cloudron in the official documentation: https://cloudron.io/documentation/apps/packaging/
        

        πŸ™Œ

        L Offline
        L Offline
        LoudLemur
        wrote on last edited by
        #3

        @robi You brilliant man!

        https://you.com also has an AI code generator. Would you like to try and reproduce the experiment over there and see how the results compare?

        robiR 1 Reply Last reply
        0
        • subvenS Offline
          subvenS Offline
          subven
          wrote on last edited by
          #4

          Another usefull approach would be to fully automate testing new releases for existing Cloudron apps since this is monkey work most of the time. There are already pipelines that look for new releases, build them and run some tests but with AI you could also analyze changes and watch out for migrations + integrate and test them for your specific needs (or at least make some suggestion on what needs to be adjusted).

          With a growing app catalogue, this could speed up 80% of the work for updates/upgrades I guess ^^

          robiR 1 Reply Last reply
          1
          • robiR robi

            I just thought about asking it to generate a manifest file for Rust Desk and it said it wasn't an existing app.

            Then I gave it the URL of the github repo and this is what it generated:

            I apologize for the confusion, given that now I have access to the source code of the RustDesk-server, I can provide you with an example of a Cloudron manifest file for this application. Keep in mind that this is just an example and you will need to adjust the values to match the specific requirements of your setup.
            
            {
                "id": "com.example.rustdesk",
                "version": "1.0.0",
                "name": "RustDesk",
                "title": "RustDesk",
                "description": "RustDesk is a open-source, self-hosted, desktop-as-a-service",
                "icon": "rustdesk-icon.png",
                "homepage": "https://rustdesk.com",
                "location": "https://rustdesk.com",
                "type": "webapp",
                "accessRestriction": "public",
                "accessRestrictionReason": "",
                "manifestVersion": 1,
                "dependencies": {
                    "domains": [
                        {
                            "domain": "rustdesk.com"
                        }
                    ],
                    "services": [
                        {
                            "type": "http"
                        }
                    ],
                    "ports": [
                        {
                            "name": "http",
                            "protocol": "tcp",
                            "public": true,
                            "port": 3000
                        }
                    ]
                },
                "config": {
                    "env": {
                        "DATABASE_URL": "postgres://username:password@host:port/database",
                        "APP_SECRET": "secret_key"
                    },
                    "command": "cargo run --release",
                    "appUser": "rustdesk",
                    "appGroup": "rustdesk",
                    "workingDir": "/app/rustdesk-server"
                }
            }
            
            
            This manifest file assumes that the application is listening on port 3000, that is using a postgres database, and that you have set the DATABASE_URL and APP_SECRET environment variable.
            It also assumes that the application is built with rust and cargo and that the source code is located in a folder named "rustdesk-server".
            
            Please keep in mind that you will need to adjust the values for the id, version, name, title, description, icon, homepage and location accordingly.
            Also, you will need to adjust the dependencies, config and other fields to reflect the actual requirements of your application.
            
            You can find more information about how to package an application for Cloudron in the official documentation: https://cloudron.io/documentation/apps/packaging/
            

            πŸ™Œ

            timconsidineT Offline
            timconsidineT Offline
            timconsidine
            App Dev
            wrote on last edited by
            #5

            @robi Ha! That’s brilliant.
            Does produced code actually work ?
            (On small screen so can’t assess)

            robiR 1 Reply Last reply
            0
            • L LoudLemur

              @robi You brilliant man!

              https://you.com also has an AI code generator. Would you like to try and reproduce the experiment over there and see how the results compare?

              robiR Offline
              robiR Offline
              robi
              wrote on last edited by
              #6

              @LoudLemur so far using their interface has been crappy for code as they have a limit of how many lines they will let it print before cutting it off so you cannot get a full output.

              If you figure out how to get more than 30 lines of output or so, let me know.

              Conscious tech

              L 1 Reply Last reply
              0
              • subvenS subven

                Another usefull approach would be to fully automate testing new releases for existing Cloudron apps since this is monkey work most of the time. There are already pipelines that look for new releases, build them and run some tests but with AI you could also analyze changes and watch out for migrations + integrate and test them for your specific needs (or at least make some suggestion on what needs to be adjusted).

                With a growing app catalogue, this could speed up 80% of the work for updates/upgrades I guess ^^

                robiR Offline
                robiR Offline
                robi
                wrote on last edited by
                #7

                @subven yeah, if you first package a testing suite, then generate test scripts that will test each apps functionality and collect and display all that.

                You have to have each step pipelined and you can get help with each step from chatGPT. Maybe even the overall pipeline if prompted well enough.

                Conscious tech

                1 Reply Last reply
                0
                • timconsidineT timconsidine

                  @robi Ha! That’s brilliant.
                  Does produced code actually work ?
                  (On small screen so can’t assess)

                  robiR Offline
                  robiR Offline
                  robi
                  wrote on last edited by
                  #8

                  @timconsidine from what I can tell the generated file is correct for a rust app with cargo calls, etc. We don't have many rust apps, so not sure if it found an example or extrapolated the json correctly.

                  Conscious tech

                  1 Reply Last reply
                  1
                  • robiR robi

                    @LoudLemur so far using their interface has been crappy for code as they have a limit of how many lines they will let it print before cutting it off so you cannot get a full output.

                    If you figure out how to get more than 30 lines of output or so, let me know.

                    L Offline
                    L Offline
                    LoudLemur
                    wrote on last edited by
                    #9

                    @robi It is not easy to find, and you may need to ask your sys admin to have it enabled. (In your case, probably reach out to You.) In the YouCode application, there is a settings button at the top right. Click on that to reveal parameter settings like MaxLines. If it isn't visible, try contacting You.

                    brave_eIqvZuJFkH.jpg

                    Finding that box can be tricky too. You might need to try a search and then scroll down to some of the results to find it.

                    https://you.com/code

                    In passing, there is an early access too

                    https://about.you.com/youcode-premium/

                    robiR 1 Reply Last reply
                    0
                    • L LoudLemur

                      @robi It is not easy to find, and you may need to ask your sys admin to have it enabled. (In your case, probably reach out to You.) In the YouCode application, there is a settings button at the top right. Click on that to reveal parameter settings like MaxLines. If it isn't visible, try contacting You.

                      brave_eIqvZuJFkH.jpg

                      Finding that box can be tricky too. You might need to try a search and then scroll down to some of the results to find it.

                      https://you.com/code

                      In passing, there is an early access too

                      https://about.you.com/youcode-premium/

                      robiR Offline
                      robiR Offline
                      robi
                      wrote on last edited by
                      #10

                      @LoudLemur lol I am the sysadmin.

                      I didn't make an account there, but will request the premium access and see what happens.

                      Conscious tech

                      L 1 Reply Last reply
                      0
                      • robiR robi

                        @LoudLemur lol I am the sysadmin.

                        I didn't make an account there, but will request the premium access and see what happens.

                        L Offline
                        L Offline
                        LoudLemur
                        wrote on last edited by
                        #11

                        @robi Haha πŸ™‚πŸ˜

                        1 Reply Last reply
                        0
                        • L LoudLemur referenced this topic on
                        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