FROM python:3.11-slim
WORKDIR /app
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc python3-dev libpq-dev && \
rm -rf /var/lib/apt/lists/*
# Install uv
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
# Copy dependency files
COPY pyproject.toml uv.lock ./
# Install dependencies with uv
RUN uv sync --frozen --no-dev
# Copy application
COPY main_remote.py ./
COPY src/ ./src/
COPY queries/ ./queries/
COPY data/ ./data/
# Create non-root user
RUN useradd -m -u 1000 mcp && chown -R mcp:mcp /app
USER mcp
EXPOSE 8888
CMD ["uv", "run", "main_remote.py", "--host", "0.0.0.0", "--port", "8888", "--json-response"]