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
  • Brite
  • 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 - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Packaging & Development
  3. RomM App For Cloudron

RomM App For Cloudron

Scheduled Pinned Locked Moved App Packaging & Development
19 Posts 4 Posters 3.3k 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.
  • murgeroM Offline
    murgeroM Offline
    murgero
    App Dev
    wrote on last edited by murgero
    #1

    With the help of the amazing devs @ the RomM Discord (Not linked as they have everything on their site below) I was able to port their beautiful ROM manager to Cloudron. See the below for details!

    RomM App

    Your beautiful, powerful, self-hosted rom manager and player.

    • RomM Site
    • Cloudron App Source (With install instructions until it gets published!)
    • Demo Site (Demo Site only hosts public domain and / or copy-left ROMs!)

    Scan, enrich, and browse your game collection with a clean and responsive interface.
    With support for multiple platforms, various naming schemes and custom tags, RomM is a must-have for anyone who plays on emulators.
    RomM is an All-in-one app for managing your classic / retro game collection.

    Screenshots:

    25302e90-47eb-4a4b-afad-22af5414d732-image.png

    20b0da75-572e-4ad4-980d-9081f1c0cce6-image.png

    Known Issues:

    • [FIXED] Currently due to how RomM works, I had to symlink the special library and config folders. this causes some issues in cloudron's app file-explorer but should still work fine via SSH or FTP.
    • [FIXED] Looks like due to parent dockerfile conflicts, updating the app seems to wipe library data. I am working to rebuild the parent dockerfile to remove the volume tags so they can be properly moved to /app/data 🙂

    --
    https://urgero.org
    ~ Professional Nerd. Freelance Programmer. ~

    1 Reply Last reply
    4
    • murgeroM Offline
      murgeroM Offline
      murgero
      App Dev
      wrote on last edited by
      #2

      This might be better suited in App Packaging & Development - not sure if a moderator can move it?

      --
      https://urgero.org
      ~ Professional Nerd. Freelance Programmer. ~

      1 Reply Last reply
      1
      • nebulonN nebulon moved this topic from App Wishlist on
      • J Offline
        J Offline
        joseph
        Staff
        wrote on last edited by
        #3

        For Cloudron App Store, the packages are generally written from scratch and don't have external deps i.e they are pinned to specific versions etc.

        murgeroM 1 Reply Last reply
        0
        • J joseph

          For Cloudron App Store, the packages are generally written from scratch and don't have external deps i.e they are pinned to specific versions etc.

          murgeroM Offline
          murgeroM Offline
          murgero
          App Dev
          wrote on last edited by
          #4

          @joseph This package is forked and rewriten specifically to work on cloudron, is that what you mean?

          --
          https://urgero.org
          ~ Professional Nerd. Freelance Programmer. ~

          1 Reply Last reply
          0
          • nebulonN Offline
            nebulonN Offline
            nebulon
            Staff
            wrote on last edited by
            #5

            Basically on Cloudron apps should be derived from the Cloudron base image, to ensure all required tools are included. Otherwise some Cloudron features will not work correctly.

            But also the app versions have to be pinned to specific releases, otherwise rebuilding a package from a tag can result in different images each time if some upstream images change.

            Since you start with mitchellurgero/romm:local-cloudron-changes maybe you have those pinned there, but not sure where that is defined.

            murgeroM 1 Reply Last reply
            1
            • nebulonN nebulon

              Basically on Cloudron apps should be derived from the Cloudron base image, to ensure all required tools are included. Otherwise some Cloudron features will not work correctly.

              But also the app versions have to be pinned to specific releases, otherwise rebuilding a package from a tag can result in different images each time if some upstream images change.

              Since you start with mitchellurgero/romm:local-cloudron-changes maybe you have those pinned there, but not sure where that is defined.

              murgeroM Offline
              murgeroM Offline
              murgero
              App Dev
              wrote on last edited by
              #6

              @nebulon I am working with the ROMM devs to fix a couple bugs I've found while packaging the app, however all cloudron features seem to be working as expected. Cloudron's image was not used in the current testing build I've been working on but I am sure if it's absolutely needed I could recreate the romm docker images using cloudron's base image.

              Is it absolutely neccessary to be published that it uses cloudron's base image though?

              --
              https://urgero.org
              ~ Professional Nerd. Freelance Programmer. ~

              1 Reply Last reply
              0
              • nebulonN Offline
                nebulonN Offline
                nebulon
                Staff
                wrote on last edited by
                #7

                Ah yes, all apps in the Cloudron app library would have to be based on the Cloudron base image. This has various reasons. Since our base image does have a lot of things pre-installed, you can probably try if using FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4 just works?

                murgeroM 1 Reply Last reply
                0
                • nebulonN nebulon

                  Ah yes, all apps in the Cloudron app library would have to be based on the Cloudron base image. This has various reasons. Since our base image does have a lot of things pre-installed, you can probably try if using FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4 just works?

                  murgeroM Offline
                  murgeroM Offline
                  murgero
                  App Dev
                  wrote on last edited by
                  #8

                  @nebulon I'll see about rebuilding and will get back to you on that. RomM team is still updating stuff on their end for a couple bugs I've found while working with them as well.

                  --
                  https://urgero.org
                  ~ Professional Nerd. Freelance Programmer. ~

                  1 Reply Last reply
                  0
                  • nebulonN Offline
                    nebulonN Offline
                    nebulon
                    Staff
                    wrote on last edited by
                    #9

                    @murgero do you have the source repo, if any for mitchellurgero/romm:local-cloudron-changes?

                    murgeroM 1 Reply Last reply
                    0
                    • nebulonN nebulon

                      @murgero do you have the source repo, if any for mitchellurgero/romm:local-cloudron-changes?

                      murgeroM Offline
                      murgeroM Offline
                      murgero
                      App Dev
                      wrote on last edited by
                      #10

                      @nebulon I'm still rebuilding it to use the cloudron base image, currently my source tree (though not up to date) is https://git.cloudron.io/murgero/romm-cloudron. This is likely to change when the rewrite is done, waiting for upstream to merge a patch that fixes a crucial bug to get this working on cloudron.

                      --
                      https://urgero.org
                      ~ Professional Nerd. Freelance Programmer. ~

                      1 Reply Last reply
                      2
                      • murgeroM Offline
                        murgeroM Offline
                        murgero
                        App Dev
                        wrote on last edited by
                        #11

                        They just merged the fix into their beta branch so only a matter of time now before I can rework this app to use the cloudron base 🙂

                        --
                        https://urgero.org
                        ~ Professional Nerd. Freelance Programmer. ~

                        1 Reply Last reply
                        3
                        • murgeroM Offline
                          murgeroM Offline
                          murgero
                          App Dev
                          wrote on last edited by
                          #12

                          Bumping to let people know I have not forgotten, its just been a busy summer for me!

                          --
                          https://urgero.org
                          ~ Professional Nerd. Freelance Programmer. ~

                          1 Reply Last reply
                          3
                          • eyecreateE Offline
                            eyecreateE Offline
                            eyecreate
                            App Dev
                            wrote last edited by eyecreate
                            #13

                            I put some effort today to package this app. I'm putting a link here to my repo, but it's not complete. Still need to figure out if I can get OIDC working and need to work on the config file and make use of /app/data. I took some ideas from what @murgero last showed and the official romm dockerfile, but built it using cloudron packaging format examples and supervisord.
                            https://git.cloudron.io/eyecreate/romm
                            I'll post here when I make any changes. Would love feedback from those knowing more about OIDC how to get it working.

                            Edit: cloudron gitlab has been spotty so here is a mirror: https://git.eyecreate.org/eyecreate/cloudron-romm

                            murgeroM 1 Reply Last reply
                            3
                            • eyecreateE eyecreate

                              I put some effort today to package this app. I'm putting a link here to my repo, but it's not complete. Still need to figure out if I can get OIDC working and need to work on the config file and make use of /app/data. I took some ideas from what @murgero last showed and the official romm dockerfile, but built it using cloudron packaging format examples and supervisord.
                              https://git.cloudron.io/eyecreate/romm
                              I'll post here when I make any changes. Would love feedback from those knowing more about OIDC how to get it working.

                              Edit: cloudron gitlab has been spotty so here is a mirror: https://git.eyecreate.org/eyecreate/cloudron-romm

                              murgeroM Offline
                              murgeroM Offline
                              murgero
                              App Dev
                              wrote last edited by
                              #14

                              @eyecreate Thank you for this! I have lost a lot of time IRL with work and family stuff so someone else taking the mantle here is really helpful. I'll definitely be checking this out

                              --
                              https://urgero.org
                              ~ Professional Nerd. Freelance Programmer. ~

                              1 Reply Last reply
                              1
                              • eyecreateE Offline
                                eyecreateE Offline
                                eyecreate
                                App Dev
                                wrote last edited by eyecreate
                                #15

                                Okay, I made some progress since I last wrote: I fixed some bugs preventing app from working and found a way to get OIDC working too. Now I need to put some effort into using the app and make sure everything is working, especially the remote api services and fix my bad use of secret key.

                                1 Reply Last reply
                                2
                                • eyecreateE Offline
                                  eyecreateE Offline
                                  eyecreate
                                  App Dev
                                  wrote last edited by eyecreate
                                  #16

                                  Made some more progress today: I put some env vars in a file that can be written by user for api keys, added missing workers for jobs, and pulled in precompiled emujs and ruffle from release image. Some things are not set up right still so emujs doesn't work, but one step closer. I'll also look into adding the TURN support for netplay in latest version.

                                  1 Reply Last reply
                                  3
                                  • eyecreateE Offline
                                    eyecreateE Offline
                                    eyecreate
                                    App Dev
                                    wrote last edited by
                                    #17

                                    Okay, I made some more updates today: one step back to take two steps forward. I realized there was another dockerfile in the romm github when trying to figure out why a number of things weren't working. That dockerfile was for production, unlike the one I was looking at. I decided to use more of the processes they have there to try and get the missing features: I needed to use nginx instead of the node dev server and compile some custom modules for nginx. While I was making these changes, I made other parts of the docker build process more mult-stage. The end result is downloading roms and using the emulator work now. Next I'll see what it'll take to get netplay working and check more features out. I feel like I've gotten close to finished!

                                    1 Reply Last reply
                                    3
                                    • eyecreateE Offline
                                      eyecreateE Offline
                                      eyecreate
                                      App Dev
                                      wrote last edited by
                                      #18

                                      I reached out to Romm devs to try and figure out why I'm seeing a bug in my build but not official docker image.(rom with id of 1 won't work with emulator) In the meantime, I tested out netplay and it works! Will update once I hear back.

                                      1 Reply Last reply
                                      3
                                      • eyecreateE Offline
                                        eyecreateE Offline
                                        eyecreate
                                        App Dev
                                        wrote last edited by
                                        #19

                                        Next release of romm should contain fixes for every issue I've found. I'd consider it usable at that point.

                                        1 Reply Last reply
                                        2
                                        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