File size: 1,607 Bytes
a7438ba
225dc8e
b98d409
225dc8e
 
 
f618b3b
 
 
 
b98d409
f618b3b
 
 
 
 
 
a7438ba
225dc8e
f618b3b
9990a6c
6917f0f
 
 
 
a695455
9990a6c
6917f0f
 
 
 
9990a6c
6917f0f
 
9990a6c
6917f0f
9990a6c
225dc8e
6263425
0465d18
f618b3b
225dc8e
7866e2d
225dc8e
6263425
aa67972
 
318c2a2
aa67972
318c2a2
a7438ba
 
a695455
a7438ba
f618b3b
9990a6c
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
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 Google Chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
RUN apt-get -y update
RUN apt-get install -y google-chrome-stable

# Install ChromeDriver
RUN apt-get install -yqq unzip
RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip
RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/

# Set display port to avoid crash
ENV DISPLAY=:99

# Install Selenium
RUN pip install selenium==3.8.0

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