|
|
|
FROM python:3.9 |
|
|
|
|
|
ENV PYTHONUNBUFFERED=1 \ |
|
PORT=7860 \ |
|
PYTHONPATH=/app \ |
|
HOME=/home/chrome \ |
|
CHROME_BIN=/usr/bin/google-chrome |
|
|
|
|
|
RUN mkdir -p /home/chrome && \ |
|
groupadd -r chrome && \ |
|
useradd -r -g chrome -G audio,video chrome && \ |
|
mkdir -p /home/chrome/Downloads && \ |
|
chown -R chrome:chrome /home/chrome |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
build-essential \ |
|
wget \ |
|
gnupg \ |
|
unzip \ |
|
xvfb \ |
|
&& wget -q -O - https://dl-ssl.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.list \ |
|
&& apt-get update \ |
|
&& apt-get install -y google-chrome-stable \ |
|
&& chown -R chrome:chrome /usr/bin/google-chrome \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
COPY requirements.txt . |
|
|
|
|
|
RUN pip install --no-cache-dir -r requirements.txt \ |
|
&& pip install --no-cache-dir hypercorn |
|
|
|
|
|
COPY . /app |
|
|
|
|
|
RUN chown -R chrome:chrome /app |
|
|
|
|
|
USER chrome |
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
CMD ["hypercorn", "app:app", "--bind", "0.0.0.0:7860"] |