craw_web / Dockerfile
euler314's picture
Upload 9 files
4b9057c verified
raw
history blame
2.62 kB
FROM ubuntu:22.04
USER root
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV DEBIAN_FRONTEND=noninteractive
ENV PIP_ROOT_USER_ACTION=ignore
ENV HOME=/home/user
ENV PLAYWRIGHT_BROWSERS_PATH=${HOME}/.cache/ms-playwright
ENV LD_LIBRARY_PATH=/usr/lib/playwright:/usr/lib/x86_64-linux-gnu
ENV GRADIO_NODE_PORT=disabled
RUN useradd -m -d /home/user user && \
mkdir -p ${HOME}/.cache/ms-playwright && \
mkdir -p /usr/lib/playwright && \
chown -R user:user ${HOME}/.cache && \
chmod -R 755 ${HOME}/.cache
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3.11 \
python3-pip \
python3.11-dev \
wget \
unzip \
ca-certificates \
libnss3 \
libnss3-tools \
libnspr4 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libatspi2.0-0 \
libcups2 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
libxkbcommon0 \
libx11-xcb1 \
libxcursor1 \
libxi6 \
libxss1 \
libxtst6 \
libasound2 \
libx11-6 \
libxcb1 \
libxext6 \
libxfixes3 \
libxrender1 \
libdbus-1-3 \
libdrm2 \
libpango-1.0-0 \
fonts-liberation \
fonts-noto-color-emoji \
gcc && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libnssutil3.so /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libsmime3.so /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libnspr4.so /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libcups.so.2 /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libatspi.so.0 /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 /usr/lib/playwright/ && \
ln -s /usr/lib/x86_64-linux-gnu/libXdamage.so.1 /usr/lib/playwright/
WORKDIR /app
COPY requirements.txt ./
RUN pip3 install --no-cache-dir -r requirements.txt
RUN PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 pip3 install playwright==1.30.0
RUN cd ${HOME}/.cache/ms-playwright && \
wget -q https://playwright.azureedge.net/builds/chromium/1045/chromium-linux.zip && \
unzip chromium-linux.zip && \
rm chromium-linux.zip && \
chmod -R 755 ${HOME}/.cache/ms-playwright
COPY . .
RUN chown -R user:user /app && \
chmod -R 755 /app && \
chmod -R 755 ${HOME}/.cache/ms-playwright && \
chmod -R 755 /usr/lib/playwright
USER user
CMD ["python3", "app.py"]