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'.
This commit is contained in:
diegosouzapw
2026-05-31 09:08:36 -03:00
parent 2d627a3433
commit bc7ab44f74
2 changed files with 24 additions and 0 deletions

View File

@@ -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

View File

@@ -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