File size: 1,289 Bytes
a7438ba
225dc8e
b98d409
225dc8e
 
 
f618b3b
 
 
 
b98d409
f618b3b
 
 
 
 
 
a7438ba
225dc8e
f618b3b
329a050
 
 
a695455
 
 
 
225dc8e
6263425
0465d18
f618b3b
225dc8e
7866e2d
225dc8e
6263425
aa67972
 
318c2a2
aa67972
318c2a2
a7438ba
 
a695455
a7438ba
f618b3b
318c2a2
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
FROM python:3.9-slim

# Install necessary system dependencies and gnupg
RUN apt-get update && apt-get install -y \
    libgl1-mesa-glx \
    libglib2.0-0 \
    wget \
    unzip \
    curl \
    ca-certificates \
    gnupg \
    fonts-liberation \
    libnss3 \
    libxss1 \
    libappindicator1 \
    libgbm-dev \
    libgtk-3-0 \
    chromium \
    && rm -rf /var/lib/apt/lists/*

# Install a specific version of ChromeDriver compatible with Chromium
RUN CHROMEDRIVER_VERSION=114.0.5735.90 && \
    wget -O /tmp/chromedriver.zip "https://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip" && \
    unzip /tmp/chromedriver.zip -d /usr/local/bin/ && \
    rm /tmp/chromedriver.zip && \
    chmod +x /usr/local/bin/chromedriver

WORKDIR /code
RUN mkdir -p /code/uploads && chmod 755 /code/uploads

# Copy and install Python dependencies
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
COPY . /code

# Add and use a non-root user
RUN useradd -ms /bin/sh myuser
RUN chown -R myuser:myuser /code
USER myuser

# Set environment variables for Chrome
ENV CHROME_BIN=/usr/bin/chromium
ENV CHROME_DRIVER=/usr/local/bin/chromedriver

# Default command to run the application
CMD ["python", "app.py"]