- Create Dockerfile.playwright with headed mode by default - Create docker-compose.yml with MCP server, headed, and test profiles - Update Playwright skill to recommend headed mode for observation - Remove --headless flag so browser window is visible - Add BROWSER_VISIBILITY.md guide for X11/Docker setup - Add README.Docker.md with quick start instructions Configuration: - PLAYWRIGHT_MCP_HEADLESS=false (browser visible) - Requires X11 display for Docker (DISPLAY=:0) - Three profiles: default, debug, test Refs: #12 in Milestone #44
55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
playwright-mcp:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.playwright
|
|
container_name: playwright-mcp
|
|
ports:
|
|
- "8931:8931"
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
environment:
|
|
- PLAYWRIGHT_MCP_BROWSER=chromium
|
|
- PLAYWRIGHT_MCP_HEADLESS=false
|
|
- PLAYWRIGHT_MCP_NO_SANDBOX=true
|
|
- PLAYWRIGHT_MCP_PORT=8931
|
|
- PLAYWRIGHT_MCP_HOST=0.0.0.0
|
|
- DISPLAY=${DISPLAY:-:0}
|
|
restart: unless-stopped
|
|
shm_size: '2gb'
|
|
ipc: host
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
|
|
# For visual debugging (headed mode)
|
|
playwright-headed:
|
|
image: mcr.microsoft.com/playwright:v1.58.2-noble
|
|
container_name: playwright-headed
|
|
ports:
|
|
- "8932:8931"
|
|
volumes:
|
|
- ./:/app
|
|
environment:
|
|
- DISPLAY=$DISPLAY
|
|
command: >
|
|
npx @playwright/mcp@latest
|
|
--browser chromium
|
|
--port 8931
|
|
--host 0.0.0.0
|
|
profiles:
|
|
- debug
|
|
|
|
# For running tests locally
|
|
test-runner:
|
|
image: mcr.microsoft.com/playwright:v1.58.2-noble
|
|
container_name: playwright-test
|
|
volumes:
|
|
- ./:/app
|
|
working_dir: /app
|
|
command: npx playwright test
|
|
profiles:
|
|
- test
|