laichai commited on
Commit
ce8e0e7
·
verified ·
1 Parent(s): b32c8b7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -18
Dockerfile CHANGED
@@ -1,37 +1,32 @@
1
- FROM python:3.13.5-slim
2
 
3
- # Set working directory
4
  WORKDIR /app
5
 
 
6
  RUN apt-get update && apt-get install -y \
7
- build-essential \
8
- curl \
9
- git \
10
  gcc \
11
  g++ \
12
  libpq-dev \
 
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
- # Copy requirements first for better caching
16
- COPY requirements.txt ./
17
- COPY src/ ./src/
18
 
19
- # Install Python dependencies
20
- RUN pip3 install --no-cache-dir -r requirements.txt
 
21
 
22
- # Copy application files
23
  COPY app.py .
24
- COPY .streamlit/ .streamlit/
25
 
26
- # Create a non-root user
27
- RUN useradd -m -u 1000 streamlit
 
28
  USER streamlit
29
 
30
- # Expose port
31
  EXPOSE 7860
32
 
33
- # Health check
34
- HEALTHCHECK CMD curl --fail http://localhost:7860/_stcore/health
35
 
36
- # Run the application
37
  ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
1
+ FROM python:3.11-slim
2
 
 
3
  WORKDIR /app
4
 
5
+ # Install system dependencies
6
  RUN apt-get update && apt-get install -y \
 
 
 
7
  gcc \
8
  g++ \
9
  libpq-dev \
10
+ curl \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
+ # Copy requirements
14
+ COPY requirements.txt .
 
15
 
16
+ # Install Python packages
17
+ RUN pip install --no-cache-dir --upgrade pip && \
18
+ pip install --no-cache-dir -r requirements.txt
19
 
20
+ # Copy app
21
  COPY app.py .
 
22
 
23
+ # Create non-root user
24
+ RUN useradd -m -u 1000 streamlit && \
25
+ chown -R streamlit:streamlit /app
26
  USER streamlit
27
 
 
28
  EXPOSE 7860
29
 
30
+ HEALTHCHECK CMD curl --fail http://localhost:7860/_stcore/health || exit 1
 
31
 
 
32
  ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]