File size: 2,005 Bytes
39a94c6 c837510 2ee8641 24fe2af 39a94c6 24fe2af 39a94c6 24fe2af 39a94c6 daad6ac 24fe2af 39a94c6 24fe2af 39a94c6 24fe2af c837510 39a94c6 c837510 24fe2af 39a94c6 c837510 39a94c6 c837510 39a94c6 c837510 24fe2af c837510 24fe2af 39a94c6 24fe2af c837510 | 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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | FROM python:3.11-slim-bullseye
ENV DEBIAN_FRONTEND=noninteractive
# 1. Install System Dependencies
RUN apt-get update && apt-get install -y \
# Display & Window Management
xvfb \
x11-utils \
x11-xserver-utils \
xdotool \
matchbox-window-manager \
# Capture & Input Libs
libx11-dev \
libxrandr2 \
libxtst6 \
# Video Encoding (AV)
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libswscale-dev \
libswresample-dev \
libvpx-dev \
libopus-dev \
libffi-dev \
# Brave Dependencies
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxi6 \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libgbm1 \
libasound2 \
libpangocairo-1.0-0 \
libgtk-3-0 \
fonts-liberation \
fonts-noto-color-emoji \
# Utilities
wget \
curl \
gnupg \
procps \
&& rm -rf /var/lib/apt/lists/*
# 2. Install Brave Browser
RUN curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg \
https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" \
| tee /etc/apt/sources.list.d/brave-browser-release.list && \
apt-get update && \
apt-get install -y brave-browser && \
rm -rf /var/lib/apt/lists/*
# 3. Setup User
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
# 4. Install Python Dependencies
COPY --chown=user:user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 5. Copy Application
COPY --chown=user:user app.py .
# 6. Create Directories
RUN mkdir -p $HOME/brave-data
# 7. Environment Config
ENV DISPLAY=:99 \
RESOLUTION=1280x720
EXPOSE 7860
CMD ["python", "app.py"] |