testdocker / Dockerfile
Azeez98's picture
Update Dockerfile
f8db595 verified
raw
history blame contribute delete
2.85 kB
FROM ubuntu:jammy as builder
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
ENV LANG en_US.UTF-8
ARG TARGETARCH
# Install dependencies
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
python3-pip \
ca-certificates \
curl \
dirmngr \
fonts-noto-cjk \
gnupg \
libssl-dev \
libjpeg-turbo8 \
python3-watchdog \
python3-xlrd \
python3-xlwt \
xz-utils \
xfonts-base \
xfonts-75dpi \
libxrender1 \
libfontconfig1 \
libpng16-16 \
libx11-6 \
libxcb1 \
libxext6 \
libx11-xcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxi6 \
libxrandr2 \
libxtst6 \
libglib2.0-0 \
libxfixes3 \
libxinerama1 \
libxss1 \
fontconfig \
build-essential \
python3-dev \
libjpeg-dev \
zlib1g-dev \
libpq-dev \
libxml2-dev \
libxslt1-dev \
libffi-dev \
gosu \
&& rm -rf /var/lib/apt/lists/*
# Install wkhtmltopdf
RUN if [ -z "${TARGETARCH}" ]; then \
TARGETARCH="$(dpkg --print-architecture)"; \
fi; \
WKHTMLTOPDF_ARCH=${TARGETARCH} && \
case ${TARGETARCH} in \
"amd64") WKHTMLTOPDF_ARCH=amd64 && WKHTMLTOPDF_SHA=967390a759707337b46d1c02452e2bb6b2dc6d59 ;; \
"arm64") WKHTMLTOPDF_SHA=90f6e69896d51ef77339d3f3a20f8582bdf496cc ;; \
"ppc64le" | "ppc64el") WKHTMLTOPDF_ARCH=ppc64el && WKHTMLTOPDF_SHA=5312d7d34a25b321282929df82e3574319aed25c ;; \
esac \
&& curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_${WKHTMLTOPDF_ARCH}.deb \
&& echo ${WKHTMLTOPDF_SHA} wkhtmltox.deb | sha1sum -c - \
&& apt-get install -y --no-install-recommends ./wkhtmltox.deb \
&& rm -rf /var/lib/apt/lists/* wkhtmltox.deb
# Install latest postgresql-client
RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main' > /etc/apt/sources.list.d/pgdg.list \
&& GNUPGHOME="$(mktemp -d)" \
&& export GNUPGHOME \
&& repokey='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8' \
&& gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${repokey}" \
&& gpg --batch --armor --export "${repokey}" > /etc/apt/trusted.gpg.d/pgdg.gpg.asc \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& apt-get update \
&& apt-get install --no-install-recommends -y postgresql-client \
&& rm -f /etc/apt/sources.list.d/pgdg.list \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /install
COPY requirements.txt ./
# Upgrade pip and setuptools
RUN pip install --upgrade pip setuptools && \
pip install --no-cache-dir --prefix=/install -r ./requirements.txt