Files
overleaf-mcp/Dockerfile
2026-04-13 14:14:30 +02:00

58 lines
2.4 KiB
Docker

# ===============================================================
# Stage 1: Build mcp-auth-proxy from source
# ===============================================================
FROM golang:1.23-bookworm AS auth-proxy-builder
RUN git clone https://github.com/sigbit/mcp-auth-proxy.git /build \
&& cd /build \
&& go build -o /mcp-auth-proxy .
# ===============================================================
# Stage 2: Main image
# ===============================================================
FROM node:20-slim
# ---------------------------------------------------------------
# 1. System dependencies
# ---------------------------------------------------------------
RUN apt-get update && apt-get install -y \
git curl ca-certificates \
# Playwright / Chromium dependencies
libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 \
libpango-1.0-0 libcairo2 libasound2 libatspi2.0-0 \
libxshmfence1 libx11-xcb1 libxcb-dri3-0 libxfixes3 \
# TeX Live (base + common resume packages)
texlive-latex-base texlive-latex-extra texlive-fonts-recommended \
texlive-fonts-extra texlive-latex-recommended \
&& rm -rf /var/lib/apt/lists/*
# ---------------------------------------------------------------
# 2. Copy mcp-auth-proxy binary from builder
# ---------------------------------------------------------------
COPY --from=auth-proxy-builder /mcp-auth-proxy /usr/local/bin/mcp-auth-proxy
# ---------------------------------------------------------------
# 3. Clone and build the Overleaf MCP server
# ---------------------------------------------------------------
WORKDIR /app
RUN git clone https://github.com/Sahith59/OverLeaf_MCP.git . \
&& npm install \
&& npm run build
# ---------------------------------------------------------------
# 4. Install Playwright Chromium browser
# ---------------------------------------------------------------
RUN npx playwright install chromium
# ---------------------------------------------------------------
# 5. Create data directories
# ---------------------------------------------------------------
RUN mkdir -p /data/resumes /data/output /root/.overleaf-mcp/browser-data
# ---------------------------------------------------------------
# 6. Expose HTTPS ports and start
# ---------------------------------------------------------------
EXPOSE 80 443
ENTRYPOINT ["mcp-auth-proxy"]