From 2131aa494bfb383bb6f36fad708c6cf48f7230f1 Mon Sep 17 00:00:00 2001 From: Zach Clendenen Date: Fri, 16 Oct 2026 14:14:12 -0500 Subject: [PATCH] docs(streaming): a container's broker_secret overrides STREAMING_BROKER_SECRET Companion to rommapp/romm#5259, which reverses the precedence: the per-container broker_secret now wins and the env var is the fallback for containers that set none. --- docs/reference/configuration-file.md | 4 ++-- docs/troubleshooting/emulator-streaming.md | 2 +- docs/using/emulator-streaming.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/reference/configuration-file.md b/docs/reference/configuration-file.md index 7cd868a6..c5908ab5 100644 --- a/docs/reference/configuration-file.md +++ b/docs/reference/configuration-file.md @@ -572,7 +572,7 @@ Add one entry per container, not per platform. A container serves every platform | `label` | No | Name for the container, shown in the fleet view. The play action is named after the emulator instead | | `subfolder` | No | URL prefix the broker is served under, matching the container's `SUBFOLDER` | | `broker_host` | No | Server-to-broker API base. Derived from `host` when omitted, and **required** when `host` is a path | -| `broker_secret` | No | Secret for this container, used only when the `STREAMING_BROKER_SECRET` env var is unset | +| `broker_secret` | No | Secret for this container. Overrides the `STREAMING_BROKER_SECRET` env var, which covers containers that set none | | `library_path` | No | In-container path to the RomM library, if it is mounted somewhere other than the default `/romm/library` | | `emulator` | No | Lowercased name grouping states and memory cards. Ignored when `platforms` is used, since each platform's own emulator names them | | `memory_card_sync` | No | Sync the whole memory card to the RomM library. Ignored only on platforms known to have no card (`wii`, `psx`, `ps3`, `ps4`, `xbox`, `xbox360`, `wiiu`, `3ds`, `switch`) | @@ -589,7 +589,7 @@ streaming: host: https://192.168.1.56:3010 # browser-facing, must be HTTPS subfolder: /streaming # matches the container's SUBFOLDER library_path: /romm # where it mounts your ROM library - broker_secret: change-me # matches the container's BROKER_SECRET + broker_secret: change-me # the container's BROKER_SECRET; overrides STREAMING_BROKER_SECRET label: Emulation station platforms: snes: retroarch # the emulator name directly... diff --git a/docs/troubleshooting/emulator-streaming.md b/docs/troubleshooting/emulator-streaming.md index a8704464..918fafb7 100644 --- a/docs/troubleshooting/emulator-streaming.md +++ b/docs/troubleshooting/emulator-streaming.md @@ -68,7 +68,7 @@ The broker is served under the container's `SUBFOLDER` on the same origin as the ## Launch or save errors out -Either the server can't reach `broker_host` or the secret is wrong. Check that `STREAMING_BROKER_SECRET` matches the container's `BROKER_SECRET`, and that `broker_host` resolves from the RomM server. A `broker_secret` in `config.yml` is ignored whenever `STREAMING_BROKER_SECRET` is set (see [Set the shared secret](../using/emulator-streaming.md#set-the-shared-secret)). +Either the server can't reach `broker_host` or the secret is wrong. Check that the secret RomM sends matches the container's `BROKER_SECRET`: that is the entry's `broker_secret` in `config.yml` when it sets one, and `STREAMING_BROKER_SECRET` otherwise (see [Set the shared secret](../using/emulator-streaming.md#set-the-shared-secret)). Also check that `broker_host` resolves from the RomM server. ## The emulator can't find the game diff --git a/docs/using/emulator-streaming.md b/docs/using/emulator-streaming.md index 49ed5314..e2f913df 100644 --- a/docs/using/emulator-streaming.md +++ b/docs/using/emulator-streaming.md @@ -177,9 +177,9 @@ Four of those keys have consequences worth knowing before you pick their values: ### Set the shared secret -`STREAMING_BROKER_SECRET` is what authenticates RomM to the broker, and it has to match the container's `BROKER_SECRET`. Use the same value everywhere. +`STREAMING_BROKER_SECRET` is what authenticates RomM to the broker, and it has to match the container's `BROKER_SECRET`. One value covers every container that shares it. -If one broker needs its own secret, put `broker_secret` on that entry in `config.yml` and leave `STREAMING_BROKER_SECRET` unset entirely. The env var beats the per-container value whenever it's set, so you can't mix the two. +If one broker needs its own secret, put `broker_secret` on that entry in `config.yml`. A container's own `broker_secret` wins over `STREAMING_BROKER_SECRET`, which only covers the containers that set none, so you can mix the two. ### Tune the timeouts