--- id: fleet/settings-to-choose-which-server-each-feature title: "Settings to choose which server each feature uses" theme: fleet status: open priority: urgent due: 2026-08-22 created: 2026-08-21 date_source: stated order: 0 --- **Settings to choose which server each feature uses.** Wanted 2026-08-21, **needed 2026-08-22** — the owner named it urgent and named the case: **ReClip, for saving videos.** Now that there are several servers, each functionality needs to be pointed at one deliberately, from Officer's settings, rather than always resolving to whatever is local. **The blocker is concrete and small.** `api/file-browser/router.ts:1271` reads ```ts const RECLIP_BASE = process.env.RECLIP_URL ?? 'http://localhost:8899'; ``` — a module-level constant, read once at import, from an environment variable. So every install can only ever reach its OWN ReClip, there is no way to say "download this on `omega`", and changing it means editing `.env` and restarting rather than a setting. Five hosts hold a platform checkout (`docs/servers.md`); three run it. The generalisation the owner asked for is the setting being **per feature**, not one global "which server am I". Different functions belong on different machines — the box with the disks is not the box with the GPU is not the box on the fast line — so this is a routing table, one row per capability. Worth knowing before designing it: the platform already has per-server registries for a plugin (Jellyfin keeps servers with write-only access tokens; offscale keeps a server picker), so there is a shape to copy rather than invent. And `docs/multi-server-push.md` is the same question arriving from the other direction — a payload that does not say which server sent it — so whatever names a server here should be the identifier that design settles on.