Archon/python/Dockerfile.mcp
Cole Medin 9f22659f4c
Moving Dockerfiles to uv for package installation (#533)
* Moving Dockerfiles to uv for package installation

* Updating uv installation for CI
2025-08-30 11:33:11 -05:00

42 lines
1.3 KiB
Docker

# MCP Service - Lightweight HTTP-based microservice
FROM python:3.12-slim
WORKDIR /app
# Install uv
RUN pip install --no-cache-dir uv
# Copy pyproject.toml for dependency installation
COPY pyproject.toml .
# Install only mcp dependencies using uv
RUN uv pip install --system --group mcp
# Create minimal directory structure
RUN mkdir -p src/mcp_server/features/projects src/mcp_server/features/tasks src/mcp_server/features/documents src/server/services src/server/config
# Copy only MCP-specific files
COPY src/mcp_server/ src/mcp_server/
COPY src/__init__.py src/
# Copy the server files MCP needs for HTTP communication
COPY src/server/__init__.py src/server/
COPY src/server/services/__init__.py src/server/services/
COPY src/server/services/mcp_service_client.py src/server/services/
COPY src/server/services/client_manager.py src/server/services/
COPY src/server/services/mcp_session_manager.py src/server/services/
COPY src/server/config/__init__.py src/server/config/
COPY src/server/config/service_discovery.py src/server/config/
COPY src/server/config/logfire_config.py src/server/config/
# Set environment variables
ENV PYTHONPATH="/app:$PYTHONPATH"
ENV PYTHONUNBUFFERED=1
# Expose MCP port
ARG ARCHON_MCP_PORT=8051
ENV ARCHON_MCP_PORT=${ARCHON_MCP_PORT}
EXPOSE ${ARCHON_MCP_PORT}
# Run the MCP server
CMD ["python", "-m", "src.mcp_server.mcp_server"]