Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| services:romm [2024/04/04 06:56] – willy | services:romm [2024/09/02 13:22] (current) – willy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== ROMM ====== | ====== ROMM ====== | ||
| - | [[https:// | + | [[https:// |
| ===== Installation ===== | ===== Installation ===== | ||
| - | Create the usual dedicated user called **romm** belonging to the **media** group, so it can access your collection: | + | Create the usual dedicated user called **romm** belonging to the **media** group, so it can access your collection, since we are here, also create the podman network you will use later on: |
| <code bash> | <code bash> | ||
| useradd -d / | useradd -d / | ||
| + | podman network create romm-net | ||
| </ | </ | ||
| Line 15: | 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 | ||
| </ | </ | ||
| - | The ROMs should be moved under the library | + | The ROMs should be moved under the **roms** |
| + | |||
| + | Now, create the required IGDB/ | ||
| Download the // | Download the // | ||
| Line 27: | Line 29: | ||
| wget -O docker-compose.yml https:// | wget -O docker-compose.yml https:// | ||
| </ | </ | ||
| + | |||
| and edit it at lest for: | and edit it at lest for: | ||
| < | < | ||
| + | These needs to be filled up properly: | ||
| + | - DB_PASSWD=blahblahmysecret | ||
| + | - IGDB_CLIENT_ID= <<< | ||
| + | - IGDB_CLIENT_SECRET= <<< | ||
| + | - MOBYGAMES_API_KEY= << see above >>> | ||
| + | - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` | ||
| + | |||
| These need to be adapted to your setup: | These need to be adapted to your setup: | ||
| - | - /data/ROMs/library:/ | + | - / |
| - / | - / | ||
| - / | - / | ||
| Line 50: | Line 60: | ||
| networks: | networks: | ||
| romm-net: {} | romm-net: {} | ||
| + | </ | ||
| + | |||
| + | Now pull the images: | ||
| + | <code bash> | ||
| + | podman compose pull | ||
| + | </ | ||
| + | |||
| + | ===== Reserse Proxy ===== | ||
| + | |||
| + | RomM needs to run on it's own subdomain. So check [[selfhost: | ||
| + | <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 / | ||
| + | error_log / | ||
| + | |||
| + | | ||
| + | |||
| + | location / { | ||
| + | proxy_pass http:// | ||
| + | include " | ||
| + | include " | ||
| + | proxy_set_header Connection $http_connection; | ||
| + | proxy_set_header Upgrade $http_upgrade; | ||
| + | } | ||
| + | include com.mydomain/ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | RomM also support Basic Authantication, | ||
| + | |||
| + | Adapt to your needs and restart your NGINX. | ||
| + | |||
| + | ===== Autostart ===== | ||
| + | |||
| + | To start it, and set it up on boot, as usual follow my indications [[gentoo: | ||
| + | < | ||
| + | ln -s / | ||
| + | </ | ||
| + | |||
| + | and create the following config file: | ||
| + | <file - / | ||
| + | USER=romm | ||
| + | DESCRIPTION=" | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||