User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:romm [2024/04/04 07:24] willyservices:romm [2024/09/02 13:22] (current) willy
Line 1: Line 1:
 ====== ROMM ====== ====== ROMM ======
  
-[[https://github.com/rommapp/romm|RomM]] is a ROM manager for your console ROM collection. +[[https://github.com/rommapp/romm|RomM]] is a ROM manager for your console ROM collection. Moreover, it also allow you to play your games directly in the browser. Pretty neat, eh.
  
 ===== Installation ===== ===== Installation =====
Line 16: Line 15:
 cd /data cd /data
 mkdir ROMs mkdir ROMs
-mkdir ROMs/library+mkdir ROMs/roms
 mkdir ROMs/assets mkdir ROMs/assets
 mkdir ROMs/config mkdir ROMs/config
 </code> </code>
  
-The ROMs should be moved under the library folder following the specific structure defined [[https://github.com/rommapp/romm?tab=readme-ov-file#-folder-structure|here]].+The ROMs should be moved under the **roms** folder following the specific structure defined [[https://github.com/rommapp/romm?tab=readme-ov-file#-folder-structure|here]]. Please note that what is called __library__ path is the **/data/ROMs** folder!
  
 Now, create the required IGDB/MobyGames APIs according to the[[https://github.com/rommapp/romm/wiki/Generate-API-Keys|instructions here]]. this is a bit complex and long process, but it's needed to properly organize your ROMs. Now, create the required IGDB/MobyGames APIs according to the[[https://github.com/rommapp/romm/wiki/Generate-API-Keys|instructions here]]. this is a bit complex and long process, but it's needed to properly organize your ROMs.
Line 35: Line 34:
 <code> <code>
 These needs to be filled up properly: These needs to be filled up properly:
 +      - DB_PASSWD=blahblahmysecret
       - IGDB_CLIENT_ID= <<< see above >>>       - IGDB_CLIENT_ID= <<< see above >>>
       - IGDB_CLIENT_SECRET= <<< see above >>>       - IGDB_CLIENT_SECRET= <<< see above >>>
Line 41: Line 41:
  
 These need to be adapted to your setup: These need to be adapted to your setup:
-      - /data/ROMs/library:/romm/library # Your game library+      - /data/ROMs:/romm/library # Your game library
       - /data/ROMs/assets:/romm/assets # Uploaded saves, states, etc.       - /data/ROMs/assets:/romm/assets # Uploaded saves, states, etc.
       - /data/ROMs/config:/romm/config # Path where config.yml is stored       - /data/ROMs/config:/romm/config # Path where config.yml is stored
Line 65: Line 65:
 <code bash> <code bash>
 podman compose pull podman compose pull
 +</code>
 +
 +===== Reserse Proxy =====
 +
 +RomM needs to run on it's own subdomain. So check [[selfhost:nginx|The Reverse Proxy concept]] and use a similar config file **romm.conf**:
 +<file - romm.conf>
 +server {
 +        server_name romm.mydomain.com;
 +        listen 8443 ssl; # managed by Certbot
 +        listen 443 ssl; # managed by Certbot
 +        client_max_body_size 50000M;
 +        large_client_header_buffers 4 32k;
 +
 +        access_log /var/log/nginx/romm.mydomain.com_access_log main;
 +        error_log /var/log/nginx/romm.mydomain.com_error_log info;
 +       
 +       include "com.mydomain/authelia_location-basic.conf";
 +
 +        location / {
 +                proxy_pass http://127.0.0.1:2280/;
 +                include "com.mydomain/authelia_proxy.conf";
 +                include "com.mydomain/authelia_authrequest-basic.conf";          
 +                proxy_set_header Connection $http_connection;
 +                proxy_set_header Upgrade $http_upgrade;
 +        }
 +        include com.mydomain/certbot.conf;
 +}
 +</file>
 +
 +RomM also support Basic Authantication, and the above configuration file will enable it using Authelia.
 +
 +Adapt to your needs and restart your NGINX.
 +
 +===== Autostart =====
 +
 +To start it, and set it up on boot, as usual follow my indications [[gentoo:containers|Using Containers on Gentoo]], so link the **user-containers** init script:
 +<code>
 +ln -s /etc/init.d/user-containers /etc/init.d/user-containers.romm
 +</code>
 +
 +and create the following config file:
 +<file - /etc/conf.d/user-containers.romm>
 +USER=romm
 +DESCRIPTION="The rom server"
 +</file>
 +
 +Add the service to the default runlevel and start it now:
 +<code bash>
 +rc-update add user-containers.romm default
 +rc-service user-containers.romm start
 </code> </code>
  

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information