Dockerfile•1.64 kB
# Shopify Liquid MCP Server - Docker Image
# Fast, local documentation access for Shopify Liquid
FROM python:3.10-slim
# Set working directory
WORKDIR /app
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
sqlite3 \
&& rm -rf /var/lib/apt/lists/*
# Copy package files
COPY pyproject.toml ./
COPY README.md ./
COPY LICENSE ./
COPY shopify_liquid_mcp/ ./shopify_liquid_mcp/
# Copy documentation files (included in package)
COPY docs-source/ ./docs-source/
# Install Python package
RUN pip install --no-cache-dir -e .
# Create database directory
RUN mkdir -p /data
# Set environment variable for database location
ENV SHOPIFY_LIQUID_DB_PATH=/data/shopify-liquid.db
# Index documentation on container start
RUN python -m shopify_liquid_mcp.ingest
# Expose stdio for MCP communication
# Note: MCP uses stdin/stdout, no port exposure needed
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD python -c "from shopify_liquid_mcp.ingest import search_documentation; search_documentation(['test'])" || exit 1
# Run the MCP server
CMD ["python", "-m", "shopify_liquid_mcp.server"]
# Labels for metadata
LABEL org.opencontainers.image.title="Shopify Liquid MCP Server"
LABEL org.opencontainers.image.description="Fast, local MCP server for Shopify Liquid documentation"
LABEL org.opencontainers.image.version="0.1.0"
LABEL org.opencontainers.image.authors="Your Name <your.email@example.com>"
LABEL org.opencontainers.image.source="https://github.com/florinel-chis/shopify-liquid-mcp"
LABEL org.opencontainers.image.licenses="MIT"