From bc7ab44f74f20ca2c2cce343725229acc2e5490d Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sun, 31 May 2026 09:08:36 -0300 Subject: [PATCH] fix(docker): add 'web' compose profile for web-cookie providers (#2832) Web-cookie providers (gemini-web, claude-web, claude-turnstile) need Playwright/Chromium, which only ships in the runner-web image. The default docker-compose.yml had no profile targeting runner-web, so 'docker compose up' ran the base image and those providers failed with 'Executable doesn't exist at .../ms-playwright/chromium...'. Add an 'omniroute-web' service (target runner-web, image omniroute:web, profile 'web') and document it in the header. Validated with 'docker compose --profile web config'. --- CHANGELOG.md | 5 +++++ docker-compose.yml | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf4a57adb4..1ffa30fe7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,11 @@ ### Fixed +- **docker:** add a `web` compose profile (`omniroute-web`, target `runner-web`, + image `omniroute:web`) so web-cookie providers (gemini-web, claude-web, + claude-turnstile) work out of the box — the default `base` image ships without + Chromium/Playwright, which made those providers fail with + "Executable doesn't exist at .../ms-playwright/chromium...". (#2832) - **routing/codex:** fix two gpt-5.5 Codex defects (#2877). (A) For a Codex-only account, a bare `gpt-5.5` Responses request was rerouted to codex with the model hardcoded to `gpt-5.5-medium` (`chatHelpers.ts`); the executor read that diff --git a/docker-compose.yml b/docker-compose.yml index 0b5a762837..8a249e335f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,12 +4,14 @@ # # Profiles: # base → minimal image, no CLI tools +# web → runner-web (+Chromium/Playwright) for web-cookie providers # cli → CLIs installed inside the container (portable) # host → runner-base + host-mounted CLI binaries (Linux-first) # cliproxyapi → CLIProxyAPI sidecar on port 8317 # # Usage: # docker compose --profile base up -d +# docker compose --profile web up -d # gemini-web / claude-web / claude-turnstile # docker compose --profile cli up -d # docker compose --profile host up -d # docker compose --profile cliproxyapi up -d @@ -69,6 +71,23 @@ services: profiles: - base + # ── Profile: web (runner-web + Chromium/Playwright) ──────────────── + # Required for web-cookie providers (gemini-web, claude-web, claude-turnstile). + # The default `base` image ships without Chromium, so those providers fail + # with "Executable doesn't exist at .../ms-playwright/chromium..." (#2832). + omniroute-web: + <<: *common + container_name: omniroute + build: + context: . + target: runner-web + image: omniroute:web + ports: + - "${DASHBOARD_PORT:-${PORT:-20128}}:${DASHBOARD_PORT:-${PORT:-20128}}" + - "${API_PORT:-20129}:${API_PORT:-20129}" + profiles: + - web + # ── Profile: cli (CLIs installed inside container) ───────────────── omniroute-cli: <<: *common