-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
23 lines (17 loc) · 688 Bytes
/
Copy pathDockerfile
File metadata and controls
23 lines (17 loc) · 688 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FROM python:3.12-slim
WORKDIR /app
# Install third-party deps first for layer caching
COPY pyproject.toml README.md LICENSE ./
RUN pip install --no-cache-dir \
"fastmcp>=2.0.0,<3.0.0" "pydantic>=2.0.0" "pyyaml>=6.0" \
"Pillow>=9.0.0" "aiosqlite>=0.19.0" "plotly>=5.9.0" \
"psutil>=5.9.0" "uvicorn>=0.20.0"
# Copy source and install the package itself
COPY src/ ./src/
COPY examples/ ./examples/
RUN pip install --no-cache-dir --no-deps .
EXPOSE 8765 8766
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8765/health')" || exit 1
ENTRYPOINT ["matlab-mcp"]
CMD ["--transport", "sse"]