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