samim2024 commited on
Commit
06acafa
·
verified ·
1 Parent(s): f5eeece

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -10
Dockerfile CHANGED
@@ -1,21 +1,34 @@
1
- FROM python:3.9-slim
 
2
 
 
 
 
 
 
3
  WORKDIR /app
4
 
 
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
- curl \
8
- software-properties-common \
9
- git \
 
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- COPY requirements.txt ./
13
- COPY src/ ./src/
14
 
15
- RUN pip3 install -r requirements.txt
 
16
 
17
- EXPOSE 8501
 
18
 
19
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
 
 
20
 
21
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
1
+ # Use an official Python image
2
+ FROM python:3.10-slim
3
 
4
+ # Set environment variables
5
+ ENV PYTHONDONTWRITEBYTECODE=1
6
+ ENV PYTHONUNBUFFERED=1
7
+
8
+ # Set working directory
9
  WORKDIR /app
10
 
11
+ # Install system dependencies
12
  RUN apt-get update && apt-get install -y \
13
  build-essential \
14
+ libglib2.0-0 \
15
+ libsm6 \
16
+ libxext6 \
17
+ libxrender-dev \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
+ # Copy requirements first to leverage Docker cache
21
+ COPY requirements.txt .
22
 
23
+ # Install Python dependencies
24
+ RUN pip install --upgrade pip && pip install -r requirements.txt
25
 
26
+ # Copy the rest of the application code
27
+ COPY . .
28
 
29
+ # Expose ports (8501 for Streamlit, 8000 for FastAPI)
30
+ EXPOSE 8501
31
+ EXPOSE 8000
32
 
33
+ # Set entrypoint to run both Streamlit and FastAPI
34
+ CMD ["sh", "-c", "streamlit run app.py & uvicorn api:app --host 0.0.0.0 --port 8000"]