File size: 1,263 Bytes
b6fb194 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
FROM python:3.10-slim
# Install system dependencies
RUN apt-get update && apt-get install -y default-jre wget curl && apt-get clean && rm -rf /var/lib/apt/lists/*
# Install Miniconda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && bash /tmp/miniconda.sh -b -p /opt/conda && rm /tmp/miniconda.sh
# Add conda to PATH
ENV PATH="/opt/conda/bin:$PATH"
# Install arvados-python-client via conda (e.g., from bioconda)
RUN conda install -c bioconda arvados-python-client -y && conda clean -a
# Install Python dependencies
RUN pip install uv
RUN uv pip install --system fastmcp
# Create app directory
WORKDIR /app
# Copy your MCP server
COPY app/arvados-python-client_server.py /app/
# Create workspace and output directories
RUN mkdir -p /app/workspace /app/output
# Make sure the server script is executable
RUN chmod +x /app/arvados-python-client_server.py
# Expose port for MCP over HTTP (optional)
EXPOSE 8000
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD python -c "import sys; sys.exit(0)"
# Default command runs the MCP server via stdio
CMD ["python", "/app/arvados-python-client_server.py"]
|