NitinBot001 commited on
Commit
f99bef1
·
verified ·
1 Parent(s): ae72345

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -6
Dockerfile CHANGED
@@ -1,6 +1,8 @@
1
  # Use Python 3.9 slim as base image
2
  FROM python:3.9-slim
3
 
 
 
4
 
5
  # Set working directory
6
  WORKDIR /app
@@ -14,6 +16,7 @@ RUN apt-get update && apt-get install -y \
14
  libxrender-dev \
15
  libgomp1 \
16
  wget \
 
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
  # Copy requirements first for better caching
@@ -22,21 +25,27 @@ COPY requirements.txt .
22
  # Install Python dependencies
23
  RUN pip install --no-cache-dir -r requirements.txt
24
 
25
-
26
-
27
  # Copy application files
28
  COPY . .
29
 
30
- # Create directory for model cache
31
- RUN mkdir -p /root/.cache/carvekit
 
 
 
32
 
33
- # Expose the port
34
- EXPOSE 7860
35
 
36
  # Set environment variables
37
  ENV GRADIO_SERVER_NAME="0.0.0.0"
38
  ENV GRADIO_SERVER_PORT=7860
39
  ENV PYTHONUNBUFFERED=1
 
 
 
 
 
40
 
41
  # Health check
42
  HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
 
1
  # Use Python 3.9 slim as base image
2
  FROM python:3.9-slim
3
 
4
+ # Create a non-root user
5
+ RUN useradd -m -u 1000 user
6
 
7
  # Set working directory
8
  WORKDIR /app
 
16
  libxrender-dev \
17
  libgomp1 \
18
  wget \
19
+ curl \
20
  && rm -rf /var/lib/apt/lists/*
21
 
22
  # Copy requirements first for better caching
 
25
  # Install Python dependencies
26
  RUN pip install --no-cache-dir -r requirements.txt
27
 
 
 
28
  # Copy application files
29
  COPY . .
30
 
31
+ # Create cache directories with proper permissions
32
+ RUN mkdir -p /app/.cache/carvekit && \
33
+ mkdir -p /home/user/.cache/carvekit && \
34
+ chown -R user:user /app && \
35
+ chown -R user:user /home/user
36
 
37
+ # Switch to non-root user
38
+ USER user
39
 
40
  # Set environment variables
41
  ENV GRADIO_SERVER_NAME="0.0.0.0"
42
  ENV GRADIO_SERVER_PORT=7860
43
  ENV PYTHONUNBUFFERED=1
44
+ ENV HOME=/home/user
45
+ ENV CARVEKIT_CACHE_DIR=/app/.cache/carvekit
46
+
47
+ # Expose the port
48
+ EXPOSE 7860
49
 
50
  # Health check
51
  HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \