Skip to content

Commit

Permalink
Feature: Added RomM Export (#1045)
Browse files Browse the repository at this point in the history
Co-authored-by: Christian Emmer <[email protected]>
  • Loading branch information
maxexcloo and emmercm authored Apr 7, 2024
1 parent dbf5566 commit 470cad6
Show file tree
Hide file tree
Showing 7 changed files with 244 additions and 2 deletions.
1 change: 1 addition & 0 deletions docs/output/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ To help sort ROMs into unique file structures for popular frontends & hardware,
- `{onion}` the [OnionOS / GarlicOS](../usage/handheld/onionos.md) emulator's directory for the ROM
- `{pocket}` the [Analogue Pocket](../usage/hardware/analogue-pocket.md) core's directory for the ROM
- `{retrodeck}` the [RetroDECK](../usage/desktop/retrodeck.md) emulator's directory for the ROM
- `{romm}` the [RomM](../usage/desktop/romm.md) manager directory for the ROM
- `{twmenu}` the [TWiLightMenu++](../usage/handheld/twmenu.md) emulator's directory for the ROM

!!! tip
Expand Down
91 changes: 91 additions & 0 deletions docs/usage/desktop/romm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# RomM

[RomM](https://github.com/rommapp/romm) is a web-based ROM management solution that allows you to 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.

## ROMs

RomM uses its own [proprietary ROM folder structure](https://github.com/rommapp/romm/wiki/Supported-Platforms), so `igir` has a replaceable `{romm}` token to sort ROMs into the right place. See the [replaceable tokens page](../../output/tokens.md) for more information.

You can run RomM using [Docker Compose](https://docs.docker.com/compose/). Create a file named `docker-compose.yml` with the following contents, but change all of the environment variables with the value of `CHANGEME!`:

```yaml
version: "3"

# https://github.com/rommapp/romm/blob/997d2cacd4b1980484eb63c2b3ffe65c83133966/examples/docker-compose.example.yml
services:
romm:
image: rommapp/romm
container_name: romm
restart: unless-stopped
environment:
- DB_HOST=romm-db
- DB_NAME=romm
- DB_USER=romm
- DB_PASSWD=CHANGEME!
- ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true
- ENABLE_SCHEDULED_RESCAN=true
- IGDB_CLIENT_ID=CHANGEME!
- IGDB_CLIENT_SECRET=CHANGEME!
- ROMM_AUTH_SECRET_KEY=CHANGEME!
- ROMM_AUTH_USERNAME=admin
- ROMM_AUTH_PASSWORD=CHANGEME!
volumes:
- ./romm/assets:/romm/assets
- ./romm/config:/romm/config
- ./romm/logs:/romm/logs
- ./romm/redis:/redis-data
- ./romm/resources:/romm/resources
- ./romm/roms:/romm/library/roms
ports:
- 80:8080
depends_on:
- romm-db
romm-db:
image: mariadb:latest
container_name: romm-mariadb
restart: unless-stopped
environment:
- MARIADB_RANDOM_ROOT_PASSWORD=true
- MARIADB_DATABASE=romm
- MARIADB_USER=romm
- MARIADB_PASSWORD=CHANGEME!
expose:
- 3306
volumes:
- ./romm-db:/var/lib/mysql
```
then, run Docker Compose as you would with any other config:
```shell
docker compose up
```

This will create all of the local directories necessary. On your host machine (not from inside the container) you can sort your ROMs into the correct directories like this:

=== ":simple-windowsxp: Windows"

```batch
igir copy zip test clean ^
--dat "No-Intro*.zip" ^
--input "ROMs\" ^
--output "romm\roms\{romm}"
```

=== ":simple-apple: macOS"

```shell
igir copy zip test clean \
--dat "No-Intro*.zip" \
--input "ROMs/" \
--output "romm/roms/{romm}"
```

=== ":simple-linux: Linux"

```shell
igir copy zip test clean \
--dat "No-Intro*.zip" \
--input "ROMs/" \
--output "romm/roms/{romm}"
```
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ nav:
- usage/desktop/retroarch.md
- usage/desktop/retrodeck.md
- usage/desktop/retropie.md
- usage/desktop/romm.md
- usage/handheld/twmenu.md
- FPGA:
- usage/hardware/mister.md
Expand Down
1 change: 1 addition & 0 deletions src/modules/argumentsParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ Advanced usage:
{onion} The ROM's emulator-specific /Roms/* directory for OnionOS/GarlicOS (e.g. "GB")
{pocket} The ROM's core-specific /Assets/* directory for the Analogue Pocket (e.g. "gb")
{retrodeck} The ROM's emulator-specific /roms/* directory for the 'RetroDECK' image (e.g. "gb")
{romm} The ROM's manager-specific /roms/* directory for 'RomM' (e.g. "gb")
{twmenu} The ROM's emulator-specific /roms/* directory for TWiLightMenu++ on the DSi/3DS (e.g. "gb")
Example use cases:
Expand Down
Loading

0 comments on commit 470cad6

Please sign in to comment.