Archive: - docker-compose.yml, Dockerfile.playwright - scripts/ (legacy test scripts) - docs/, .test/ (old documentation and tests) - IMPROVEMENT_PROPOSAL.md (superseded by .kilo/) - BROWSER_VISIBILITY.md, README.Docker.md - cleanup-packages.sh, fix-permissions.sh, install-apaw.sh Keep in root: - .kilo/ (active system) - .claude/ (Claude Code runtime) - AGENTS.md (agent reference) - README.md (main documentation) - src/ (utility code) - package.json, tsconfig.json (project config)
34 lines
1.0 KiB
Docker
34 lines
1.0 KiB
Docker
# Playwright MCP Docker Image for E2E Testing
|
|
# Based on official Microsoft Playwright image
|
|
|
|
FROM mcr.microsoft.com/playwright:v1.58.2-noble
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
RUN npm install -g @playwright/mcp@latest
|
|
|
|
# Create directories for tests
|
|
RUN mkdir -p .test/screenshots/{baseline,current,diff} .test/reports
|
|
|
|
# Set environment variables
|
|
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
|
|
ENV PLAYWRIGHT_MCP_BROWSER=chromium
|
|
# HEADLESS=false by default - browser is VISIBLE for observation
|
|
# Set PLAYWRIGHT_MCP_HEADLESS=true for CI/CD
|
|
ENV PLAYWRIGHT_MCP_HEADLESS=false
|
|
|
|
# Expose port for MCP server
|
|
EXPOSE 8931
|
|
|
|
# Healthcheck
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD curl -f http://localhost:8931/health || exit 1
|
|
|
|
# Default command - MCP server (HEADED by default - browser visible)
|
|
# Browser window will be visible for observation
|
|
CMD ["node", "/usr/local/lib/node_modules/@playwright/mcp/cli.js", \
|
|
"--browser", "chromium", \
|
|
"--no-sandbox", "--port", "8931", "--host", "0.0.0.0"]
|