# syntax=docker/dockerfile-upstream:1.4.3 ARG DISTRO=alpine:3.14.5 FROM $DISTRO ENV TZ Etc/UTC ENV LANG C.UTF-8 # TODO: use intermediate image to build virtual env RUN set -euxo pipefail \ && adduser -s /bin/bash -Dh /app -k /var/empty -u 1000 -g mailu app \ && apk add --no-cache bash ca-certificates tzdata python3 py3-pip py3-wheel \ && pip3 install --no-cache-dir --upgrade pip WORKDIR /app COPY libs libs/ # TODO: work in virtual env (see above) # && python3 -m venv . \ RUN set -euxo pipefail \ && pip3 install --no-cache-dir -r libs/requirements.txt --only-binary=:all: \ || ( apk add --no-cache --virtual .build-deps gcc musl-dev python3-dev \ && pip3 install --no-cache-dir -r libs/requirements.txt \ && apk del --no-cache .build-deps ) # TODO: clean image (or use intermediate - see above) # && bin/pip uninstall -y pip distribute setuptools wheel \ # && rm -rf /tmp/* /root/.cache/pip