HarishMaths commited on
Commit
ca27d03
·
verified ·
1 Parent(s): 58fa1f5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -8
Dockerfile CHANGED
@@ -1,20 +1,42 @@
1
- FROM python:3.13.5-slim
 
2
 
3
- WORKDIR /app
4
 
 
 
 
 
 
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
- curl \
8
  git \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
- COPY requirements.txt ./
12
- COPY src/ ./src/
13
 
14
- RUN pip3 install -r requirements.txt
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  EXPOSE 8501
17
 
18
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
19
 
20
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
1
+ # Use an official Python runtime as a parent image
2
+ FROM python:3.10-slim
3
 
 
4
 
5
+ # Set environment variables
6
+ ENV PYTHONUNBUFFERED 1
7
+
8
+
9
+ # Install system dependencies and git
10
  RUN apt-get update && apt-get install -y \
11
  build-essential \
 
12
  git \
13
  && rm -rf /var/lib/apt/lists/*
14
 
 
 
15
 
 
16
 
17
+
18
+ # Create a non-root user and set permissions
19
+ RUN useradd -ms /bin/bash appuser
20
+ # Set the working directory in the container
21
+ WORKDIR /home/appuser/app
22
+
23
+
24
+ # Copy the requirements file and install dependencies
25
+ COPY requirements.txt .
26
+ RUN pip install --upgrade pip && pip install -r requirements.txt
27
+
28
+
29
+ # Switch to non-root user
30
+ USER appuser
31
+
32
+
33
+ # Copy the rest of the application code into the container
34
+ COPY --chown=appuser . /home/appuser/app
35
+
36
+
37
+ # Expose the port that the app runs on
38
  EXPOSE 8501
39
 
 
40
 
41
+ # Command to run the application
42
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]