FROM python:3.12-slim-bookworm # Install Chromium and dependencies for headless browser RUN apt-get update && apt-get install -y --no-install-recommends \ chromium \ chromium-sandbox \ fonts-liberation \ libnss3 \ libatk-bridge2.0-0 \ libdrm2 \ libxkbcommon0 \ libgbm1 \ libasound2 \ libatspi2.0-0 \ libgtk-3-0 \ && rm -rf /var/lib/apt/lists/* # Point pyppeteer to system Chromium ENV PYPPETEER_CHROMIUM_REVISION=0 ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY puppeteer_mcp.py . COPY entrypoint.py . ENV PORT=8800 EXPOSE 8800 HEALTHCHECK --interval=30s --timeout=5s --start-period=20s \ CMD python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:8800/mcp', timeout=5)" CMD ["python3", "entrypoint.py"]