NexusInstruments commited on
Commit
3c670d5
·
verified ·
1 Parent(s): 1a85bd6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -2
Dockerfile CHANGED
@@ -1,19 +1,30 @@
 
1
  FROM python:3.11-slim
2
 
3
- RUN pip install -e .
4
-
 
 
5
 
 
6
  RUN useradd -m -u 1000 user
7
  USER user
8
  ENV PATH="/home/user/.local/bin:$PATH"
9
 
 
10
  WORKDIR /app
11
 
 
12
  COPY --chown=user requirements.txt requirements.txt
13
  RUN pip install --no-cache-dir -r requirements.txt
14
 
 
 
15
  COPY --chown=user . /app
 
16
 
 
17
  EXPOSE 7860
18
 
 
19
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
1
+ # ─── Base Image ───────────────────────────────────────────────
2
  FROM python:3.11-slim
3
 
4
+ # ─── System Setup ─────────────────────────────────────────────
5
+ RUN apt-get update && apt-get install -y --no-install-recommends \
6
+ build-essential git curl && \
7
+ rm -rf /var/lib/apt/lists/*
8
 
9
+ # ─── Non-root User ────────────────────────────────────────────
10
  RUN useradd -m -u 1000 user
11
  USER user
12
  ENV PATH="/home/user/.local/bin:$PATH"
13
 
14
+ # ─── Workdir ─────────────────────────────────────────────────
15
  WORKDIR /app
16
 
17
+ # ─── Install Requirements ────────────────────────────────────
18
  COPY --chown=user requirements.txt requirements.txt
19
  RUN pip install --no-cache-dir -r requirements.txt
20
 
21
+ # ─── Install Package in Editable Mode ─────────────────────────
22
+ # (because setup.py exists at project root)
23
  COPY --chown=user . /app
24
+ RUN pip install -e .
25
 
26
+ # ─── Expose App Port ─────────────────────────────────────────
27
  EXPOSE 7860
28
 
29
+ # ─── Run Streamlit ───────────────────────────────────────────
30
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]