vinay0123 commited on
Commit
66e7ba6
·
verified ·
1 Parent(s): 5ab6602

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -6
Dockerfile CHANGED
@@ -2,22 +2,46 @@ FROM python:3.9-slim
2
 
3
  WORKDIR /app
4
 
 
5
  RUN apt-get update && apt-get install -y \
6
  libgl1 \
7
  libglib2.0-0 \
8
- && rm -rf /var/lib/apt/lists/*
9
-
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  COPY requirements.txt .
11
-
12
  RUN pip install --no-cache-dir -r requirements.txt
13
 
 
14
  COPY . .
15
 
16
- # Expose port
17
- EXPOSE 7860
18
 
 
 
 
19
  ENV FLASK_APP=app.py
20
  ENV FLASK_RUN_PORT=7860
21
  ENV FLASK_RUN_HOST=0.0.0.0
22
 
23
- CMD ["flask", "run"]
 
 
 
 
 
 
 
 
2
 
3
  WORKDIR /app
4
 
5
+ # Install system dependencies
6
  RUN apt-get update && apt-get install -y \
7
  libgl1 \
8
  libglib2.0-0 \
9
+ libsm6 \
10
+ libxext6 \
11
+ libxrender-dev \
12
+ libgomp1 \
13
+ && rm -rf /var/lib/apt/lists/*
14
+
15
+ # Create app user and necessary directories with proper permissions
16
+ RUN useradd -m -u 1000 appuser && \
17
+ mkdir -p /tmp/app_data && \
18
+ mkdir -p /tmp/app_data/ultralytics && \
19
+ mkdir -p /tmp/app_data/.keras && \
20
+ chmod -R 777 /tmp/app_data && \
21
+ chown -R appuser:appuser /app /tmp/app_data
22
+
23
+ # Copy requirements and install Python dependencies
24
  COPY requirements.txt .
 
25
  RUN pip install --no-cache-dir -r requirements.txt
26
 
27
+ # Copy application code
28
  COPY . .
29
 
30
+ # Set proper ownership for app directory
31
+ RUN chown -R appuser:appuser /app
32
 
33
+ # Set environment variables for ML libraries
34
+ ENV ULTRALYTICS_CONFIG_DIR=/tmp/app_data/ultralytics
35
+ ENV KERAS_HOME=/tmp/app_data/.keras
36
  ENV FLASK_APP=app.py
37
  ENV FLASK_RUN_PORT=7860
38
  ENV FLASK_RUN_HOST=0.0.0.0
39
 
40
+ # Switch to non-root user
41
+ USER appuser
42
+
43
+ # Expose port
44
+ EXPOSE 7860
45
+
46
+ # Run the application
47
+ CMD ["flask", "run"]