File size: 1,483 Bytes
225dc8e
 
b98d409
225dc8e
 
 
f618b3b
 
 
 
b98d409
f618b3b
 
 
 
 
 
225dc8e
f618b3b
 
 
 
 
 
 
 
e8e294f
 
f618b3b
 
 
 
225dc8e
6263425
0465d18
f618b3b
225dc8e
7866e2d
225dc8e
6263425
aa67972
 
318c2a2
aa67972
318c2a2
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
48
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 \
    && rm -rf /var/lib/apt/lists/*

# Install Chrome
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
    && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
    && apt-get update \
    && apt-get install -y google-chrome-stable \
    && rm -rf /var/lib/apt/lists/*

# Install ChromeDriver matching Chrome version
RUN CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE_127` \
    && wget -O /tmp/chromedriver.zip "https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip" \
    && unzip /tmp/chromedriver.zip -d /usr/local/bin/ \
    && rm /tmp/chromedriver.zip

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

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