Kaballas commited on
Commit
9c1e1f6
·
1 Parent(s): 9123b55
Files changed (1) hide show
  1. Dockerfile +21 -45
Dockerfile CHANGED
@@ -1,59 +1,35 @@
1
  FROM python:3.10-slim
2
 
3
- # Install system dependencies
4
  RUN apt-get update && apt-get install -y --no-install-recommends \
5
- gcc \
6
- python3-dev \
7
- openssl \
8
- curl \
9
- ca-certificates \
10
- gnupg \
11
- build-essential && \
12
- rm -rf /var/lib/apt/lists/*
13
-
14
- # Set up MariaDB's Python connector dependencies
15
  RUN curl -LsSO https://r.mariadb.com/downloads/mariadb_repo_setup && \
16
- echo "c4a0f3dade02c51a6a28ca3609a13d7a0f8910cccbb90935a2f218454d3a914a mariadb_repo_setup" | sha256sum -c - && \
17
- chmod +x mariadb_repo_setup && \
18
- ./mariadb_repo_setup --mariadb-server-version="mariadb-11.7" && \
19
- rm mariadb_repo_setup && \
20
- apt-get update && \
21
- apt-get install -y --no-install-recommends \
22
- libmariadb3 \
23
- libmariadb-dev && \
24
- apt-get clean && \
25
- rm -rf /var/lib/apt/lists/*
26
-
27
- # Install uv package manager
28
- RUN pip install --no-cache-dir uv
29
 
30
- # HF Spaces requirement: Create user with ID 1000
31
- RUN useradd -m -u 1000 user
32
 
33
- # Set working directory and ownership
34
  WORKDIR /app
35
- RUN chown -R user:user /app
36
 
37
- # Copy project files with proper ownership
38
- COPY --chown=user . /app
39
 
40
- # Switch to user before package installation
 
41
  USER user
42
 
43
- # Disable uv cache to prevent permission issues
44
- ENV UV_NO_CACHE=1
45
- ENV UV_CACHE_DIR=/dev/null
46
-
47
- # Install dependencies using uv with system-wide installation
48
- RUN uv pip install -e . --system
49
-
50
- # HF Spaces requirements
51
  ENV HOME=/home/user \
52
- PATH=/home/user/.local/bin:$PATH
 
 
 
53
 
54
- # HF Spaces requirement: Expose port 7860
55
  EXPOSE 7860
56
- ENV PORT=7860
57
-
58
- # Use the console script entry point with SSE transport
59
- CMD ["sh", "-c", "mcp-server-mariadb-vector --transport sse --host 0.0.0.0 --port $PORT"]
 
1
  FROM python:3.10-slim
2
 
3
+ # --- system packages -------------------------------------------------
4
  RUN apt-get update && apt-get install -y --no-install-recommends \
5
+ gcc python3-dev openssl curl ca-certificates gnupg build-essential \
6
+ && rm -rf /var/lib/apt/lists/*
7
+
8
+ # MariaDB client libs
 
 
 
 
 
 
9
  RUN curl -LsSO https://r.mariadb.com/downloads/mariadb_repo_setup && \
10
+ chmod +x mariadb_repo_setup && ./mariadb_repo_setup --mariadb-server-version="mariadb-11.7" && \
11
+ apt-get update && apt-get install -y --no-install-recommends \
12
+ libmariadb3 libmariadb-dev && \
13
+ apt-get clean && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
 
 
 
14
 
15
+ # --- python tooling --------------------------------------------------
16
+ RUN pip install --no-cache-dir uv
17
 
 
18
  WORKDIR /app
19
+ COPY . /app
20
 
21
+ # system-wide install **before** dropping privileges
22
+ RUN uv pip install -e . --system
23
 
24
+ # create runtime user
25
+ RUN useradd -m -u 1000 user
26
  USER user
27
 
 
 
 
 
 
 
 
 
28
  ENV HOME=/home/user \
29
+ PATH=/home/user/.local/bin:$PATH \
30
+ UV_NO_CACHE=1 \
31
+ UV_CACHE_DIR=/dev/null \
32
+ PORT=7860
33
 
 
34
  EXPOSE 7860
35
+ CMD mcp-server-mariadb-vector --transport sse --host 0.0.0.0 --port $PORT