Kaballas commited on
Commit
a1be2d1
Β·
1 Parent(s): a6aed15
Files changed (1) hide show
  1. Dockerfile +14 -8
Dockerfile CHANGED
@@ -1,35 +1,41 @@
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
 
 
 
 
 
1
  FROM python:3.10-slim
2
 
3
+ # ── Base OS 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==0.1.37 # pin to avoid future breakage
17
 
18
  WORKDIR /app
19
  COPY . /app
20
 
21
+ # Install your project + FastMCP server dependencies
22
+ RUN uv pip install -e .[server] --system
23
 
24
+ # ── Create unprivileged runtime user ───────────────────────────────
25
  RUN useradd -m -u 1000 user
26
  USER user
27
 
28
+ # ── Environment ────────────────────────────────────────────────────
29
  ENV HOME=/home/user \
30
  PATH=/home/user/.local/bin:$PATH \
31
  UV_NO_CACHE=1 \
32
  UV_CACHE_DIR=/dev/null \
33
  PORT=7860
34
 
35
+ # ── Expose and health-check ────────────────────────────────────────
36
  EXPOSE 7860
37
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=15s \
38
+ CMD curl -f http://localhost:7860/ || exit 1
39
+
40
+ # ── Launch wrapper app (app.py) instead of CLI ─────────────────────
41
+ CMD uvicorn app:app --host 0.0.0.0 --port $PORT --workers 1