Skip to main content
Glama
Dockerfileโ€ข2.62 kB
# Multi-stage Dockerfile for WebClone # Optimized for production with minimal size and maximum security # ============================================================================ # Stage 1: Builder - Install dependencies and build the application # ============================================================================ FROM python:3.11-slim as builder # Install uv - the fast Python package installer COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv # Set working directory WORKDIR /app # Install system dependencies required for building RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ curl \ && rm -rf /var/lib/apt/lists/* # Copy dependency files COPY pyproject.toml ./ # Install dependencies using uv (blazingly fast!) RUN uv pip install --system --no-cache -e . # ============================================================================ # Stage 2: Runtime - Create minimal production image # ============================================================================ FROM python:3.11-slim # Install Chrome for Selenium support RUN apt-get update && apt-get install -y --no-install-recommends \ chromium \ chromium-driver \ fonts-liberation \ libappindicator3-1 \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libcups2 \ libdbus-1-3 \ libgdk-pixbuf2.0-0 \ libnspr4 \ libnss3 \ libx11-xcb1 \ libxcomposite1 \ libxdamage1 \ libxrandr2 \ xdg-utils \ && rm -rf /var/lib/apt/lists/* # Set Chrome path for Selenium ENV CHROME_BIN=/usr/bin/chromium ENV CHROMEDRIVER_PATH=/usr/bin/chromedriver # Create non-root user for security RUN useradd -m -u 1000 webclone && \ mkdir -p /app /data && \ chown -R webclone:webclone /app /data # Set working directory WORKDIR /app # Copy Python packages from builder COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages # Copy application source COPY --chown=webclone:webclone src/ /app/src/ # Switch to non-root user USER webclone # Set Python path ENV PYTHONPATH=/app ENV PYTHONUNBUFFERED=1 # Default output directory VOLUME ["/data"] WORKDIR /data # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD python -c "import webclone; print(webclone.__version__)" || exit 1 # Entry point ENTRYPOINT ["python", "-m", "webclone.cli"] CMD ["--help"] # Metadata LABEL maintainer="Ruslan Magana <contact@ruslanmv.com>" LABEL description="WebClone - A blazingly fast, async-first website cloning engine" LABEL version="1.0.0"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ruslanmv/webclone'

If you have feedback or need assistance with the MCP directory API, please join our Discord server