MarneMorgan commited on
Commit
40c2cab
·
verified ·
1 Parent(s): faa5167

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +47 -0
Dockerfile ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM ubuntu:22.04
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV PYTHONDONTWRITEBYTECODE=1
5
+ ENV PYTHONUNBUFFERED=1
6
+
7
+ # ---- Base system ----
8
+ RUN apt-get update && apt-get install -y --no-install-recommends \
9
+ ca-certificates curl git bash jq \
10
+ python3 python3-pip python3-venv \
11
+ build-essential pkg-config \
12
+ gnupg \
13
+ && rm -rf /var/lib/apt/lists/*
14
+
15
+ # ---- Node 20 LTS (required) ----
16
+ RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
17
+ && apt-get update && apt-get install -y --no-install-recommends nodejs \
18
+ && rm -rf /var/lib/apt/lists/*
19
+
20
+ RUN node -v && npm -v && python3 -V
21
+
22
+ # ---- App user ----
23
+ RUN useradd -m -u 1000 appuser
24
+ USER appuser
25
+ WORKDIR /home/appuser/app
26
+ ENV PATH="/home/appuser/.local/bin:${PATH}"
27
+
28
+ # ---- Python deps ----
29
+ COPY requirements.txt .
30
+ RUN pip3 install --no-cache-dir -r requirements.txt
31
+
32
+ # ---- Node deps ----
33
+ COPY package.json .
34
+ RUN npm install --omit=dev
35
+
36
+ # ---- App code ----
37
+ COPY server.py .
38
+ COPY mcp.js .
39
+ COPY ui.html .
40
+ COPY start.sh .
41
+
42
+ RUN chmod +x start.sh
43
+
44
+ EXPOSE 7860
45
+
46
+ # ---- Single entrypoint (NO supervisor yet) ----
47
+ CMD ["./start.sh"]