KhalilGuetari commited on
Commit
8eb6710
·
1 Parent(s): e211489

use docker instead of gradio

Browse files
Files changed (2) hide show
  1. Dockerfile +53 -0
  2. README.md +2 -3
Dockerfile ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-stage build for hf-eda-mcp server
2
+ FROM python:3.13-slim as builder
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Install system dependencies
8
+ RUN apt-get update && apt-get install -y \
9
+ git \
10
+ && rm -rf /var/lib/apt/lists/*
11
+
12
+ # Install PDM
13
+ RUN pip install --no-cache-dir pdm
14
+
15
+ # Copy dependency files
16
+ COPY pyproject.toml pdm.lock* ./
17
+
18
+ # Install dependencies
19
+ RUN pdm install --prod --no-lock --no-editable
20
+
21
+ # Production stage
22
+ FROM python:3.13-slim
23
+
24
+ # Set working directory
25
+ WORKDIR /app
26
+
27
+ # Install runtime dependencies
28
+ RUN apt-get update && apt-get install -y \
29
+ git \
30
+ && rm -rf /var/lib/apt/lists/*
31
+
32
+ # Copy installed dependencies from builder
33
+ COPY --from=builder /app/.venv /app/.venv
34
+
35
+ # Copy application code
36
+ COPY src/ ./src/
37
+ COPY README.md LICENSE ./
38
+
39
+ # Set environment variables
40
+ ENV PATH="/app/.venv/bin:$PATH"
41
+ ENV PYTHONUNBUFFERED=1
42
+ ENV GRADIO_SERVER_NAME="0.0.0.0"
43
+ ENV GRADIO_SERVER_PORT=7860
44
+
45
+ # Expose Gradio port
46
+ EXPOSE 7860
47
+
48
+ # Health check
49
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
50
+ CMD python -c "import requests; requests.get('http://localhost:7860/health', timeout=5)"
51
+
52
+ # Run the MCP server
53
+ CMD ["python", "-m", "hf_eda_mcp"]
README.md CHANGED
@@ -3,11 +3,10 @@ title: HF EDA MCP Server
3
  emoji: 🔍
4
  colorFrom: blue
5
  colorTo: purple
6
- sdk: gradio
7
- sdk_version: 5.49.1
8
- app_file: app.py
9
  pinned: false
10
  license: apache-2.0
 
11
  ---
12
 
13
  # HF EDA MCP Server
 
3
  emoji: 🔍
4
  colorFrom: blue
5
  colorTo: purple
6
+ sdk: docker
 
 
7
  pinned: false
8
  license: apache-2.0
9
+ app_port: 7860
10
  ---
11
 
12
  # HF EDA MCP Server