mcp-servers/puppeteer-mcp/Dockerfile

38 lines
878 B
Text
Raw Normal View History

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"]