sumitsinha2603 commited on
Commit
ab4160e
·
1 Parent(s): 9a76ee6

Add deployment files (Dockerfile, app, requirements)

Browse files
Files changed (2) hide show
  1. Dockerfile +16 -22
  2. app.py +1 -1
Dockerfile CHANGED
@@ -1,29 +1,23 @@
1
- # Use an official Python runtime as a parent image
2
- FROM python:3.10-slim
3
 
4
- # Set environment variables
5
- ENV PYTHONDONTWRITEBYTECODE=1
6
- ENV PYTHONUNBUFFERED=1
7
-
8
- # Create working directory
9
  WORKDIR /app
10
 
11
- # Install system dependencies (git for huggingface repo usage)
12
- RUN apt-get update && \
13
- apt-get install -y --no-install-recommends git ca-certificates && \
14
- rm -rf /var/lib/apt/lists/*
 
15
 
16
- # Copy requirements and app
17
- COPY requirements.txt /app/requirements.txt
18
- RUN pip install --upgrade pip
19
- RUN pip install --no-cache-dir -r /app/requirements.txt
20
 
21
- # Copy application files
22
- COPY app.py /app/app.py
23
- COPY README.md /app/README.md
24
 
25
- # Expose port (the app will run on this)
26
- EXPOSE 7860
27
 
28
- # By default, run the app
29
- CMD ["python", "app.py"]
 
1
+ # Use a minimal base image with Python 3.9 installed
2
+ FROM python:3.9
3
 
4
+ # Set the working directory inside the container to /app
 
 
 
 
5
  WORKDIR /app
6
 
7
+ # Copy all files from the current directory on the host to the container's /app directory
8
+ COPY . .
9
+
10
+ # Install Python dependencies listed in requirements.txt
11
+ RUN pip3 install -r requirements.txt
12
 
13
+ RUN useradd -m -u 1000 user
14
+ USER user
15
+ ENV HOME=/home/user \
16
+ PATH=/home/user/.local/bin:$PATH
17
 
18
+ WORKDIR $HOME/app
 
 
19
 
20
+ COPY --chown=user . $HOME/app
 
21
 
22
+ # Define the command to run the Streamlit app on port "8501" and make it accessible externally
23
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0", "--server.enableXsrfProtection=false"]
app.py CHANGED
@@ -24,7 +24,7 @@ app = FastAPI(
24
  )
25
 
26
  model = None
27
- label_encoders = {}
28
 
29
  def ensure_logged_in():
30
  if HF_TOKEN:
 
24
  )
25
 
26
  model = None
27
+ label_encoders = {}
28
 
29
  def ensure_logged_in():
30
  if HF_TOKEN: