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