From 48363aed23765a8fd0f854a520460ce376538f34 Mon Sep 17 00:00:00 2001 From: Lucas HENRY Date: Fri, 23 Sep 2022 14:37:43 +0200 Subject: [PATCH] Add headless Dockerfile --- Dockerfile.headless | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Dockerfile.headless diff --git a/Dockerfile.headless b/Dockerfile.headless new file mode 100644 index 000000000..ecc05dbd0 --- /dev/null +++ b/Dockerfile.headless @@ -0,0 +1,56 @@ +FROM debian:bullseye-slim as build + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=en_US.UTF-8 + +WORKDIR /usr/src/app + +RUN apt update \ + && apt install python3 python3-pip python3-setuptools ca-certificates -y \ + && apt clean -yq \ + && apt autoremove -yq \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ + && truncate -s 0 /var/log/*log + +COPY . . + +RUN python3 setup.py install + +FROM debian:bullseye-slim + +ARG firefox_ver=105.0 +ARG geckodriver_ver=0.31.0 +ARG build_rev=0 + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=en_US.UTF-8 \ + PYTHONDONTWRITEBYTECODE=1 \ + PATH=$PATH:/opt/firefox + +RUN apt update \ + && apt install python3 python3-setuptools curl bzip2 -y \ + && apt-get install -y --no-install-recommends --no-install-suggests \ + `apt-cache depends firefox-esr | awk '/Depends:/{print$2}'` \ + # additional 'firefox-esl' dependencies which is not in 'depends' list + libasound2 libxt6 libxtst6 \ + && apt clean -yq \ + && apt autoremove -yq \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ + && truncate -s 0 /var/log/*log + +RUN curl -fL -o /tmp/firefox.tar.bz2 \ + https://ftp.mozilla.org/pub/firefox/releases/${firefox_ver}/linux-x86_64/en-GB/firefox-${firefox_ver}.tar.bz2 \ + && tar -xjf /tmp/firefox.tar.bz2 -C /tmp/ \ + && mv /tmp/firefox /opt/firefox \ + \ + # Download and install geckodriver + && curl -fL -o /tmp/geckodriver.tar.gz \ + https://github.com/mozilla/geckodriver/releases/download/v${geckodriver_ver}/geckodriver-v${geckodriver_ver}-linux64.tar.gz \ + && tar -xzf /tmp/geckodriver.tar.gz -C /tmp/ \ + && chmod +x /tmp/geckodriver \ + && mv /tmp/geckodriver /usr/local/bin/ + +COPY --from=build /usr/local/lib/python3.9/dist-packages/ /usr/local/lib/python3.9/dist-packages/ +COPY --from=build /usr/local/bin/wapiti /usr/local/bin/wapiti-getcookie /usr/local/bin/ + +ENTRYPOINT ["wapiti"]