From de09af5833c24ce52be2b7241be004718b6e5ff1 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 4 May 2026 12:31:57 +0000 Subject: [PATCH 1/4] Move Metadata Providers under Getting Started Relocates docs/administration/metadata-providers.md to docs/getting-started/metadata-providers.md, updates the navigation, adjusts every internal link to the new path, and adds a redirect from the old admin path so existing deep links still resolve. https://claude.ai/code/session_01MxrJFQ7JgmHzqarZRwyHuE --- docs/Navigation.md | 2 +- docs/administration/index.md | 2 +- docs/administration/scanning-and-watcher.md | 2 +- docs/getting-started/first-scan.md | 2 +- docs/getting-started/folder-structure.md | 2 +- .../{administration => getting-started}/metadata-providers.md | 0 docs/getting-started/quick-start.md | 4 ++-- docs/install/index.md | 2 +- docs/install/synology.md | 2 +- docs/install/truenas.md | 2 +- docs/platforms/index.md | 2 +- docs/platforms/supported-platforms.md | 4 ++-- docs/reference/configuration-file.md | 4 ++-- docs/reference/environment-variables.md | 2 +- docs/reference/exports.md | 2 +- docs/reference/glossary.md | 2 +- docs/troubleshooting/kubernetes.md | 2 +- docs/troubleshooting/scanning.md | 2 +- docs/using/in-browser-play/ruffle.md | 2 +- mkdocs.yml | 4 +++- 20 files changed, 24 insertions(+), 22 deletions(-) rename docs/{administration => getting-started}/metadata-providers.md (100%) diff --git a/docs/Navigation.md b/docs/Navigation.md index 22ba5b9..04b79b6 100644 --- a/docs/Navigation.md +++ b/docs/Navigation.md @@ -9,6 +9,7 @@ search: - Getting Started - [Quick Start](getting-started/quick-start.md) - [Folder Structure](getting-started/folder-structure.md) + - [Metadata Providers](getting-started/metadata-providers.md) - [Your First Scan](getting-started/first-scan.md) - Install & Deploy - [Overview](install/index.md) @@ -33,7 +34,6 @@ search: - [Keycloak](administration/oidc/keycloak.md) - [PocketID](administration/oidc/pocketid.md) - [Zitadel](administration/oidc/zitadel.md) - - [Metadata Providers](administration/metadata-providers.md) - [Scanning & Watcher](administration/scanning-and-watcher.md) - [Scheduled Tasks](administration/scheduled-tasks.md) - [Server Stats](administration/server-stats.md) diff --git a/docs/administration/index.md b/docs/administration/index.md index f5367a7..4542cc9 100644 --- a/docs/administration/index.md +++ b/docs/administration/index.md @@ -20,7 +20,7 @@ The end-user equivalent (how to actually play the games, build collections, uplo ### Content & library -- **[Metadata Providers](metadata-providers.md)**: all providers, credentials, priority ordering +- **[Metadata Providers](../getting-started/metadata-providers.md)**: all providers, credentials, priority ordering - **[Scanning & Watcher](scanning-and-watcher.md)**: how scans work, scan modes, filesystem watcher - **[Firmware Management](firmware-management.md)**: BIOS/firmware uploads for emulation diff --git a/docs/administration/scanning-and-watcher.md b/docs/administration/scanning-and-watcher.md index a6556d4..4709187 100644 --- a/docs/administration/scanning-and-watcher.md +++ b/docs/administration/scanning-and-watcher.md @@ -117,7 +117,7 @@ When a metadata provider returns multiple regional variants (Japanese cover, US ## Metadata source priority -Who wins when two providers disagree is covered in [Metadata Providers](metadata-providers.md#priority-and-conflict-resolution), though the short version is `scan.priority.metadata` and `scan.priority.artwork` in `config.yml`. +Who wins when two providers disagree is covered in [Metadata Providers](../getting-started/metadata-providers.md#priority-and-conflict-resolution), though the short version is `scan.priority.metadata` and `scan.priority.artwork` in `config.yml`. ## Troubleshooting diff --git a/docs/getting-started/first-scan.md b/docs/getting-started/first-scan.md index acb191a..13a15c2 100644 --- a/docs/getting-started/first-scan.md +++ b/docs/getting-started/first-scan.md @@ -5,7 +5,7 @@ description: Populate a fresh install by scanning the library for the first time # Your First Scan -You're up and running ([Quick Start](quick-start.md)), your ROMs are laid out correctly ([Folder Structure](folder-structure.md)), and metadata credentials are configured ([Metadata Providers](../administration/metadata-providers.md)). Time to catalogue everything! +You're up and running ([Quick Start](quick-start.md)), your ROMs are laid out correctly ([Folder Structure](folder-structure.md)), and metadata credentials are configured ([Metadata Providers](metadata-providers.md)). Time to catalogue everything! ## Before you hit scan diff --git a/docs/getting-started/folder-structure.md b/docs/getting-started/folder-structure.md index f262dde..816623e 100644 --- a/docs/getting-started/folder-structure.md +++ b/docs/getting-started/folder-structure.md @@ -162,7 +162,7 @@ Filenames are parsed for region, language, revision, and arbitrary tags, with bo - **Revision**: prefix with `rev`/`rev-` (e.g. `rev v1`, `rev-1`) - **Arbitrary tags**: anything else in brackets is imported verbatim (e.g. `tetris [1.0001](HACK)[!].gba`) -Inline tags like `(igdb-1234)` in filenames can be used to force a match to a specific provider entry, covered in [Metadata Providers → Filename tags](../administration/metadata-providers.md#metadata-tags-in-filenames). +Inline tags like `(igdb-1234)` in filenames can be used to force a match to a specific provider entry, covered in [Metadata Providers → Filename tags](metadata-providers.md#metadata-tags-in-filenames).
diff --git a/docs/administration/metadata-providers.md b/docs/getting-started/metadata-providers.md similarity index 100% rename from docs/administration/metadata-providers.md rename to docs/getting-started/metadata-providers.md diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md index 62beb7f..0b92c40 100644 --- a/docs/getting-started/quick-start.md +++ b/docs/getting-started/quick-start.md @@ -13,7 +13,7 @@ You'll need: - [Docker](https://docs.docker.com/get-docker/) and Docker Compose installed on the host - Your ROM files organised in the expected [folder structure](folder-structure.md) -- API credentials for at least one [metadata provider](../administration/metadata-providers.md) +- API credentials for at least one [metadata provider](metadata-providers.md) !!! warning "Metadata providers are recommended" @@ -37,7 +37,7 @@ You'll want to edit the following values before launching: | `romm-db` | `MARIADB_PASSWORD` | A separate long, randomly generated password. | | `romm` | `DB_PASSWD` | Must match `MARIADB_PASSWORD` above. | | `romm` | `ROMM_AUTH_SECRET_KEY` | Generate with `openssl rand -hex 32` and keep it secret. | -| `romm` | Metadata provider creds | Fill in only the providers you've registered with (see [Metadata Providers](../administration/metadata-providers.md)). | +| `romm` | Metadata provider creds | Fill in only the providers you've registered with (see [Metadata Providers](metadata-providers.md)). | | `romm` | `/path/to/library` volume | Host path to the directory containing your `roms/` folder. | | `romm` | `/path/to/assets` volume | Host storage paths for saves, states and screenshots. | | `romm` | `/path/to/config` volume | Host path to a directory that will hold `config.yml`. | diff --git a/docs/install/index.md b/docs/install/index.md index 558bca9..69da4cf 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -30,6 +30,6 @@ Regardless of host platform, you'll make the same handful of decisions: ## After you're up and running -- **Configure metadata providers**: [Metadata Providers](../administration/metadata-providers.md) +- **Configure metadata providers**: [Metadata Providers](../getting-started/metadata-providers.md) - **Populate the library**: [Your First Scan](../getting-started/first-scan.md) - **Add users**: [Invitations & Registration](../administration/invitations-and-registration.md) diff --git a/docs/install/synology.md b/docs/install/synology.md index a0ab269..ec25b6b 100644 --- a/docs/install/synology.md +++ b/docs/install/synology.md @@ -64,7 +64,7 @@ Keep the output. It becomes `ROMM_AUTH_SECRET_KEY` in your compose file. Don't l ## 4. Set up metadata provider credentials -Recommended before the first scan. Full walkthrough in [Metadata Providers](../administration/metadata-providers.md). +Recommended before the first scan. Full walkthrough in [Metadata Providers](../getting-started/metadata-providers.md). ## 5. Docker Compose diff --git a/docs/install/truenas.md b/docs/install/truenas.md index c9bb44f..b32db7f 100644 --- a/docs/install/truenas.md +++ b/docs/install/truenas.md @@ -27,7 +27,7 @@ You'll be asked for the same set of env vars as [Quick Start](../getting-started - **Database credentials**: TrueNAS will offer to provision MariaDB for you, just pick a strong password. - **`ROMM_AUTH_SECRET_KEY`**: generate via `openssl rand -hex 32` on any Linux box and paste the output. -- **Metadata provider credentials**: fill in whatever you've registered for (see [Metadata Providers](../administration/metadata-providers.md)). +- **Metadata provider credentials**: fill in whatever you've registered for (see [Metadata Providers](../getting-started/metadata-providers.md)). - **Storage configurations**: point the **Library** and **Assets** volumes at datasets you control. - Make sure the UID/GID defined in the app config (default: `568`, the `apps` user) has ACL access to those datasets. diff --git a/docs/platforms/index.md b/docs/platforms/index.md index 25fae5a..c012cea 100644 --- a/docs/platforms/index.md +++ b/docs/platforms/index.md @@ -11,5 +11,5 @@ description: Everything about the supported platforms ## Related sections - **[In-Browser Play](../using/in-browser-play/emulatorjs.md)**: the end-user side of EmulatorJS + Ruffle -- **[Metadata Providers](../administration/metadata-providers.md)** +- **[Metadata Providers](../getting-started/metadata-providers.md)** - **[Folder Structure](../getting-started/folder-structure.md)** diff --git a/docs/platforms/supported-platforms.md b/docs/platforms/supported-platforms.md index aca6a57..823cb70 100644 --- a/docs/platforms/supported-platforms.md +++ b/docs/platforms/supported-platforms.md @@ -21,7 +21,7 @@ Your folder name has to match the **platform slug** in the table. If yours diffe - **Slug**: the folder name RomM expects. Matches the IGDB platform slug where possible. - **Name**: the human-readable platform name -- **Providers**: which metadata providers have at least partial coverage (see [Metadata Providers](../administration/metadata-providers.md)). +- **Providers**: which metadata providers have at least partial coverage (see [Metadata Providers](../getting-started/metadata-providers.md)). - **EmulatorJS**: a playable in-browser core exists (see [Configuration File → `emulatorjs`](../reference/configuration-file.md#emulatorjs) for operator-level tuning). - **Firmware**: platform needs BIOS files for emulation (see [Firmware Management](../administration/firmware-management.md)). @@ -46,6 +46,6 @@ uv run python -m scripts.gen_platforms - [Folder Structure](../getting-started/folder-structure.md): how platform slugs map to on-disk folders - [Custom Platforms](custom-platforms.md): adding platforms outside the built-in list -- [Metadata Providers](../administration/metadata-providers.md): provider coverage deep-dive +- [Metadata Providers](../getting-started/metadata-providers.md): provider coverage deep-dive - [In-Browser Play → EmulatorJS](../using/in-browser-play/emulatorjs.md): EmulatorJS core catalogue - [Firmware Management](../administration/firmware-management.md): how RomM stores and serves BIOS files diff --git a/docs/reference/configuration-file.md b/docs/reference/configuration-file.md index 6295a9e..a9ea4dc 100644 --- a/docs/reference/configuration-file.md +++ b/docs/reference/configuration-file.md @@ -194,7 +194,7 @@ Values are the provider slugs. Full list: | `tgdb` | TheGamesDB | | `libretro` | Libretro metadata | -See [Metadata Providers](../administration/metadata-providers.md) for context on each. +See [Metadata Providers](../getting-started/metadata-providers.md) for context on each. ### `scan.priority.artwork` @@ -428,4 +428,4 @@ Most settings under `emulatorjs.settings` and `emulatorjs.controls` can be overr ## Related - [Folder Structure](../getting-started/folder-structure.md): how the filesystem shape interacts with `config.yml` -- [Metadata Providers](../administration/metadata-providers.md): per-provider detail for the `scan.priority.*` slugs +- [Metadata Providers](../getting-started/metadata-providers.md): per-provider detail for the `scan.priority.*` slugs diff --git a/docs/reference/environment-variables.md b/docs/reference/environment-variables.md index 57962e5..58377d7 100644 --- a/docs/reference/environment-variables.md +++ b/docs/reference/environment-variables.md @@ -51,7 +51,7 @@ You'll always set these: | `DB_HOST`, `DB_NAME`, `DB_USER`, `DB_PASSWD` | Database connection | | `ROMM_DB_DRIVER` | One of `mariadb` (default), `mysql`, or `postgresql` (see [Databases](../install/databases.md)) | -For metadata providers (IGDB, ScreenScraper, etc.) see [Metadata Providers](../administration/metadata-providers.md), and for OIDC, see [OIDC Setup](../administration/oidc/index.md). +For metadata providers (IGDB, ScreenScraper, etc.) see [Metadata Providers](../getting-started/metadata-providers.md), and for OIDC, see [OIDC Setup](../administration/oidc/index.md). ## Full reference diff --git a/docs/reference/exports.md b/docs/reference/exports.md index 6f189f9..dd0b5a9 100644 --- a/docs/reference/exports.md +++ b/docs/reference/exports.md @@ -71,7 +71,7 @@ Once `gamelist.xml` has been generated and populated `covers/` + `screenshots/`, - `MediaDirectory`: point it at the ROM folder (same path ES-DE uses for `ROMDirectory`), so ES-DE looks for media in-place rather than in its own library. - `LegacyGamelistFileLocation`: makes ES-DE write updates back to the same `gamelist.xml` read on import, rather than its separate config dir. -See also [Metadata Providers → gamelist.xml](../administration/metadata-providers.md) for the _import_ direction (reading gamelist.xml back in). +See also [Metadata Providers → gamelist.xml](../getting-started/metadata-providers.md) for the _import_ direction (reading gamelist.xml back in). ## Pegasus diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index 289059d..5e148d3 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -51,7 +51,7 @@ Every term the docs, UI, and API use consistently, with foundational concepts ge **Library**: your ROM files on disk. Mounted (usually read-only) at `/romm/library` inside the container, with platforms as subdirectories. The catalogue is built from what's found there (see [Folder Structure](../getting-started/folder-structure.md)). -**Metadata provider**: external source of game data, queried during a scan, with results merged. Configured via env vars + priority in `config.yml` (see [Metadata Providers](../administration/metadata-providers.md)). +**Metadata provider**: external source of game data, queried during a scan, with results merged. Configured via env vars + priority in `config.yml` (see [Metadata Providers](../getting-started/metadata-providers.md)). **Netplay**: EmulatorJS's multiplayer mode. Two or more players share a session across the internet. Open rooms are tracked and brokered via WebSocket. Needs STUN/TURN (ICE servers) configured in `config.yml` for reliable NAT traversal (see [Netplay](../using/netplay.md)). diff --git a/docs/troubleshooting/kubernetes.md b/docs/troubleshooting/kubernetes.md index 6e2bb14..73600d6 100644 --- a/docs/troubleshooting/kubernetes.md +++ b/docs/troubleshooting/kubernetes.md @@ -118,7 +118,7 @@ resources: memory: "4Gi" ``` -Or disable hashing on the Scan page to cut memory use by ~80% (you lose RetroAchievements + Hasheous matching, see [Metadata Providers](../administration/metadata-providers.md)). +Or disable hashing on the Scan page to cut memory use by ~80% (you lose RetroAchievements + Hasheous matching, see [Metadata Providers](../getting-started/metadata-providers.md)). ## Still stuck? diff --git a/docs/troubleshooting/scanning.md b/docs/troubleshooting/scanning.md index f59b177..4bb8e18 100644 --- a/docs/troubleshooting/scanning.md +++ b/docs/troubleshooting/scanning.md @@ -77,7 +77,7 @@ ERROR: [RomM][scan_handler][2025-04-12 11:48:55] Failed to process /romm/li Options, in order of effort: 1. **Add more providers**: a ROM IGDB doesn't know about might be in ScreenScraper, Hasheous, or LaunchBox, so enable one or more, then run an **Unmatched** scan. -2. **Use filename tags**: if you already know the provider ID, rename the file to include `(igdb-1234)` or similar (see [Metadata Providers → Filename tags](../administration/metadata-providers.md#metadata-tags-in-filenames)). +2. **Use filename tags**: if you already know the provider ID, rename the file to include `(igdb-1234)` or similar (see [Metadata Providers → Filename tags](../getting-started/metadata-providers.md#metadata-tags-in-filenames)). 3. **Manually match**: open the ROM detail page, click the **Match** button, and search for the right title. ## Hash calculations are slow diff --git a/docs/using/in-browser-play/ruffle.md b/docs/using/in-browser-play/ruffle.md index d12c375..a3032d5 100644 --- a/docs/using/in-browser-play/ruffle.md +++ b/docs/using/in-browser-play/ruffle.md @@ -19,6 +19,6 @@ Most 2D Flash games work, but 3D Shockwave and some advanced ActionScript titles ## Metadata -If you enable the [Flashpoint](../../administration/metadata-providers.md#flashpoint) provider, Ruffle games pick up descriptions, cover art, and tags from the Flashpoint database. +If you enable the [Flashpoint](../../getting-started/metadata-providers.md#flashpoint) provider, Ruffle games pick up descriptions, cover art, and tags from the Flashpoint database. More troubleshooting in [In-Browser Play Troubleshooting](../../troubleshooting/in-browser-play.md). diff --git a/mkdocs.yml b/mkdocs.yml index a112c03..1ec122d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -71,7 +71,7 @@ plugins: Getting-Started/Quick-Start-Guide.md: getting-started/quick-start.md Getting-Started/Configuration-File.md: reference/configuration-file.md Getting-Started/Environment-Variables.md: reference/environment-variables.md - Getting-Started/Metadata-Providers.md: administration/metadata-providers.md + Getting-Started/Metadata-Providers.md: getting-started/metadata-providers.md Getting-Started/OIDC-Setup.md: administration/oidc/index.md Getting-Started/Reverse-Proxy.md: install/reverse-proxy.md Getting-Started/Authentication.md: administration/authentication.md @@ -108,6 +108,8 @@ plugins: ecosystem/ssh-sync.md: developers/ssh-sync.md # Core Concepts merged into Glossary getting-started/concepts.md: reference/glossary.md + # Metadata Providers moved into Getting Started + administration/metadata-providers.md: getting-started/metadata-providers.md # Docker Compose reference folded into Quick Start install/docker-compose.md: getting-started/quick-start.md # Maintenance From 4b8374e3274b116cbb7c043c17ffd6c3569f1e29 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 4 May 2026 12:33:11 +0000 Subject: [PATCH 2/4] Update metadata providers URL in compose snippets Points the inline reference comments in the quick-start, Synology, and TrueNAS docker-compose snippets at the new getting-started/metadata-providers/ URL. https://claude.ai/code/session_01MxrJFQ7JgmHzqarZRwyHuE --- docs/resources/snippets/quick-start.docker-compose.yml | 8 ++++---- docs/resources/snippets/synology.docker-compose.yml | 8 ++++---- docs/resources/snippets/truenas.docker-compose.yml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/resources/snippets/quick-start.docker-compose.yml b/docs/resources/snippets/quick-start.docker-compose.yml index 5148004..dcfb17c 100644 --- a/docs/resources/snippets/quick-start.docker-compose.yml +++ b/docs/resources/snippets/quick-start.docker-compose.yml @@ -17,10 +17,10 @@ services: - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` - SCREENSCRAPER_USER= # These are the recommended metadata providers - - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#screenscraper - - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#retroachievements - - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#steamgriddb - - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#hasheous + - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/getting-started/metadata-providers/#screenscraper + - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#retroachievements + - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#steamgriddb + - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/getting-started/metadata-providers/#hasheous volumes: - romm_resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.) - romm_redis_data:/redis-data # Cached data for background tasks diff --git a/docs/resources/snippets/synology.docker-compose.yml b/docs/resources/snippets/synology.docker-compose.yml index f519d7a..7ab5722 100644 --- a/docs/resources/snippets/synology.docker-compose.yml +++ b/docs/resources/snippets/synology.docker-compose.yml @@ -15,10 +15,10 @@ services: - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` - SCREENSCRAPER_USER= # These are the recommended metadata providers - - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#screenscraper - - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#retroachievements - - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#steamgriddb - - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#hasheous + - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/getting-started/metadata-providers/#screenscraper + - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#retroachievements + - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#steamgriddb + - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/getting-started/metadata-providers/#hasheous volumes: - /volume1/docker/romm/resources:/romm/resources - /volume1/docker/romm/redis-data:/redis-data diff --git a/docs/resources/snippets/truenas.docker-compose.yml b/docs/resources/snippets/truenas.docker-compose.yml index 415c6e7..639e7cc 100644 --- a/docs/resources/snippets/truenas.docker-compose.yml +++ b/docs/resources/snippets/truenas.docker-compose.yml @@ -17,10 +17,10 @@ services: - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` - SCREENSCRAPER_USER= # These are the recommended metadata providers - - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#screenscraper - - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#retroachievements - - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#steamgriddb - - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#hasheous + - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/getting-started/metadata-providers/#screenscraper + - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#retroachievements + - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/getting-started/metadata-providers/#steamgriddb + - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/getting-started/metadata-providers/#hasheous volumes: # Any /mnt paths may optionally be replaced with a docker volume - /mnt/tank/truenas/resources:/romm/resources # Replace /mnt...: file path with your own data structure - romm_redis_data:/redis-data # Docker will manage this volume From 2ec4caadcb483ac7f2bf238755af1105753645ea Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 4 May 2026 12:35:25 +0000 Subject: [PATCH 3/4] Warn that Netplay is unstable on nightly EmulatorJS Adds an admonition at the top of the Netplay page noting that the feature is intermittently broken on the nightly EmulatorJS build, so users know up front that failures may be upstream rather than configuration. https://claude.ai/code/session_01MxrJFQ7JgmHzqarZRwyHuE --- docs/using/netplay.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/using/netplay.md b/docs/using/netplay.md index 9ad7960..b8b5801 100644 --- a/docs/using/netplay.md +++ b/docs/using/netplay.md @@ -5,6 +5,10 @@ description: Play games with friends in real time # Netplay + +!!! warning "Intermittently broken on nightly EmulatorJS" + Netplay is currently unstable on the nightly EmulatorJS build and may not work. Expect failed connections, desyncs, or rooms that won't start until upstream fixes land. + **Netplay** lets you play [in-browser](in-browser-play/emulatorjs.md) with other users in real time: co-op, turn-based, or party games, shared across the internet. ## Prerequisites From 5f670cea54f7760b50e91293ca15beb774314d5f Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Mon, 4 May 2026 09:09:55 -0400 Subject: [PATCH 4/4] run fmt --- docs/getting-started/quick-start.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md index 0b92c40..bd79db9 100644 --- a/docs/getting-started/quick-start.md +++ b/docs/getting-started/quick-start.md @@ -31,16 +31,16 @@ Start from the reference file shipped in the repo. A known-good, minimally-edite You'll want to edit the following values before launching: -| Where | Variable | What to put | -| --------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -| `romm-db` | `MARIADB_ROOT_PASSWORD` | A long, randomly generated password. | -| `romm-db` | `MARIADB_PASSWORD` | A separate long, randomly generated password. | -| `romm` | `DB_PASSWD` | Must match `MARIADB_PASSWORD` above. | -| `romm` | `ROMM_AUTH_SECRET_KEY` | Generate with `openssl rand -hex 32` and keep it secret. | +| Where | Variable | What to put | +| --------- | ------------------------- | ---------------------------------------------------------------------------------------------------- | +| `romm-db` | `MARIADB_ROOT_PASSWORD` | A long, randomly generated password. | +| `romm-db` | `MARIADB_PASSWORD` | A separate long, randomly generated password. | +| `romm` | `DB_PASSWD` | Must match `MARIADB_PASSWORD` above. | +| `romm` | `ROMM_AUTH_SECRET_KEY` | Generate with `openssl rand -hex 32` and keep it secret. | | `romm` | Metadata provider creds | Fill in only the providers you've registered with (see [Metadata Providers](metadata-providers.md)). | -| `romm` | `/path/to/library` volume | Host path to the directory containing your `roms/` folder. | -| `romm` | `/path/to/assets` volume | Host storage paths for saves, states and screenshots. | -| `romm` | `/path/to/config` volume | Host path to a directory that will hold `config.yml`. | +| `romm` | `/path/to/library` volume | Host path to the directory containing your `roms/` folder. | +| `romm` | `/path/to/assets` volume | Host storage paths for saves, states and screenshots. | +| `romm` | `/path/to/config` volume | Host path to a directory that will hold `config.yml`. | Generate the auth secret now so you don't forget: