File size: 1,413 Bytes
4cc679b
950d6aa
092d53d
228d63b
 
bccd12c
4cc679b
3d1bbb9
 
bccd12c
3d1bbb9
 
228d63b
092d53d
228d63b
3d1bbb9
 
228d63b
3d1bbb9
 
f021810
3d1bbb9
228d63b
 
3d1bbb9
228d63b
f021810
228d63b
 
 
 
 
 
 
 
2f1d976
228d63b
 
bccd12c
228d63b
950d6aa
228d63b
 
bccd12c
 
2f1d976
49ba5fd
228d63b
 
bccd12c
228d63b
 
950d6aa
 
2f1d976
 
 
228d63b
bccd12c
2f1d976
 
950d6aa
228d63b
bccd12c
950d6aa
bccd12c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
FROM python:3.11.11-bullseye

# Install system dependencies
RUN apt -qq update && \
    apt -qq install -y --no-install-recommends \
    curl \
    ca-certificates \
    git \
    gnupg2 \
    unzip \
    wget \
    xvfb \
    libxi6 \
    libgconf-2-4 \
    libappindicator3-1 \
    libxrender1 \
    libxtst6 \
    libnss3 \
    libatk1.0-0 \
    libxss1 \
    fonts-liberation \
    libasound2 \
    libgbm-dev \
    libu2f-udev \
    libvulkan1 \
    libgl1-mesa-dri \
    xdg-utils \
    python3-dev \
    libavformat-dev \
    libavcodec-dev \
    libavdevice-dev \
    libavfilter-dev \
    libavutil-dev \
    libswscale-dev \
    libswresample-dev \
    && apt-get clean && \
    rm -rf /var/lib/apt/lists/


# Create user with UID 1000
RUN useradd -m -u 1000 user

# Set environment variables
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    PYTHONUNBUFFERED=1 \
    PIP_CACHE_DIR=/home/user/.cache/pip

# Set working directory
WORKDIR $HOME/app

# Switch to non-root user
USER user

# Create cache directory and set permissions
RUN mkdir -p $HOME/.cache/pip && chmod -R 777 $HOME/.cache

# Copy requirements first to leverage Docker cache
COPY --chown=user requirements.txt .
RUN pip install --upgrade pip \
    && pip install -r requirements.txt  # Removed --no-cache-dir

# Copy application code
COPY --chown=user . .

CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]