mgbam commited on
Commit
f797a9e
·
verified ·
1 Parent(s): 40a1d7a

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -44
Dockerfile CHANGED
@@ -1,62 +1,36 @@
1
  # Dockerfile
2
 
3
- # 1. Builder Stage: Install dependencies & spaCy model
4
- FROM python:3.10-slim as builder
5
-
6
- # Prevent bytecode generation
7
  ENV PYTHONDONTWRITEBYTECODE=1
8
  ENV PYTHONUNBUFFERED=1
9
 
10
  WORKDIR /app
11
 
12
- # System libraries for image processing and builds
13
- RUN apt-get update && \
14
- apt-get install -y --no-install-recommends \
15
- build-essential \
16
- libglib2.0-0 \
17
- libsm6 \
18
- libxrender1 \
19
- libxext6 && \
20
- rm -rf /var/lib/apt/lists/*
21
-
22
- # Copy over project files for dependency resolution
23
- COPY requirements.txt /app/
24
-
25
- # Install Python dependencies and spaCy model
26
- RUN pip install --upgrade pip && \
27
- pip install --no-cache-dir -r requirements.txt && \
28
- python -m spacy download en_core_web_sm
29
-
30
- # 2. Final Stage: Create slim runtime image
31
  FROM python:3.10-slim
32
 
33
  WORKDIR /app
34
 
35
- # Copy installed packages and binaries
 
 
 
36
  COPY --from=builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
37
  COPY --from=builder /usr/local/bin /usr/local/bin
38
 
39
- # Install runtime libraries
40
- RUN apt-get update && \
41
- apt-get install -y --no-install-recommends \
42
- libglib2.0-0 \
43
- libsm6 \
44
- libxrender1 \
45
- libxext6 && \
46
- rm -rf /var/lib/apt/lists/*
47
-
48
- # Copy application source code
49
- COPY . /app
50
-
51
- # Create non-root user for security
52
- RUN groupadd -r appuser && \
53
- useradd -r -g appuser appuser && \
54
- chown -R appuser:appuser /app
55
 
 
 
56
  USER appuser
57
 
58
- # Expose Streamlit port
59
- EXPOSE 8501
60
 
61
- # Default command to start the app
62
- ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
1
  # Dockerfile
2
 
3
+ FROM python:3.10-slim AS builder
 
 
 
4
  ENV PYTHONDONTWRITEBYTECODE=1
5
  ENV PYTHONUNBUFFERED=1
6
 
7
  WORKDIR /app
8
 
9
+ RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ build-essential libglib2.0-0 libsm6 libxrender1 libxext6 \
11
+ && rm -rf /var/lib/apt/lists/*
12
+
13
+ COPY requirements.txt .
14
+ RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
15
+ RUN python -m spacy download en_core_web_sm
16
+
 
 
 
 
 
 
 
 
 
 
 
17
  FROM python:3.10-slim
18
 
19
  WORKDIR /app
20
 
21
+ RUN apt-get update && apt-get install -y --no-install-recommends \
22
+ libglib2.0-0 libsm6 libxrender1 libxext6 \
23
+ && rm -rf /var/lib/apt/lists/*
24
+
25
  COPY --from=builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
26
  COPY --from=builder /usr/local/bin /usr/local/bin
27
 
28
+ COPY . .
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
+ RUN groupadd -r appuser && useradd -r -g appuser appuser && \
31
+ chown -R appuser:appuser /app
32
  USER appuser
33
 
34
+ EXPOSE 7860
 
35
 
36
+ ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]