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"] |