File size: 1,542 Bytes
715c6dd
644bdfe
 
715c6dd
 
 
644bdfe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d0882e6
 
 
 
4523553
24fac1e
644bdfe
 
cb1e93d
b34e545
cb1e93d
244ac4d
9b88aa8
 
 
 
3d2275e
d0882e6
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54

FROM python:3.10-slim

# Explicitly switch to root user
USER root

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc \
    python3-dev \
    openssl \
    curl \
    ca-certificates \
    gnupg \
    build-essential && \
    rm -rf /var/lib/apt/lists/*

# Set up MariaDB's Python connector dependencies
RUN curl -LsSO https://r.mariadb.com/downloads/mariadb_repo_setup && \
    echo "c4a0f3dade02c51a6a28ca3609a13d7a0f8910cccbb90935a2f218454d3a914a  mariadb_repo_setup" | sha256sum -c - && \
    chmod +x mariadb_repo_setup && \
    ./mariadb_repo_setup --mariadb-server-version="mariadb-11.7" && \
    rm mariadb_repo_setup && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
    libmariadb3 \
    libmariadb-dev && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Install uv package manager
RUN pip install --no-cache-dir uv

WORKDIR /app


# Use /app/.cache/uv for cache to avoid permission issues
ENV UV_CACHE_DIR=/app/.cache/uv
RUN mkdir -p /app/.cache/uv && chmod -R 777 /app/.cache/uv

# Copy project files
COPY . /app


# Install project dependencies and clean git cache
RUN uv sync && rm -rf ${UV_CACHE_DIR}/git-v0 ${UV_CACHE_DIR}/sdists-v9 || true

# Hugging Face Spaces expects your app to listen on $PORT
EXPOSE 7860
ENV PORT=7860

# Remove uv cache at runtime to avoid permission issues
CMD ["sh", "-c", "rm -rf /app/.cache/uv && mkdir -p /app/.cache/uv && uv run mcp-server-mariadb-vector --transport sse --host 0.0.0.0 --port $PORT"]