Jobsforce commited on
Commit
785e0b8
·
verified ·
1 Parent(s): f62cf8a

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -21
Dockerfile CHANGED
@@ -1,28 +1,19 @@
1
- # Use a slim official Python image
2
  FROM python:3.10-slim
3
 
4
- # Create a new user
5
- RUN useradd -m appuser
6
 
7
- # Set work directory
8
- WORKDIR /home/appuser/app
9
-
10
- # Copy and install dependencies
11
- COPY requirements.txt .
12
- RUN pip install --no-cache-dir -r requirements.txt
13
 
14
- # Copy code and give permissions
15
- COPY . .
 
16
 
17
- # Change ownership and switch to non-root
18
- RUN chown -R appuser:appuser /home/appuser
19
  USER appuser
20
 
21
- # Download NLTK tokenizer data
22
- RUN python -c "import nltk; nltk.download('punkt')"
23
-
24
- # Expose port
25
- EXPOSE 8080
26
-
27
- # Run using uvicorn
28
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
 
 
1
  FROM python:3.10-slim
2
 
3
+ # Create a non-root user
4
+ RUN adduser --disabled-password --gecos '' appuser
5
 
6
+ # Install dependencies
7
+ RUN apt-get update && apt-get install -y gcc && \
8
+ pip install --no-cache-dir fastapi uvicorn transformers torch nltk && \
9
+ python -c "import nltk; nltk.download('punkt')"
 
 
10
 
11
+ # Copy app and set permissions
12
+ WORKDIR /home/appuser/app
13
+ COPY --chown=appuser:appuser . .
14
 
15
+ # Switch to non-root user
 
16
  USER appuser
17
 
18
+ # Run the app
19
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]