1
0
mirror of https://gitlab.com/jarylc/docker-duoauthproxy.git synced 2026-02-04 11:31:45 +00:00
Files
docker-duoauthproxy/Dockerfile

33 lines
1.3 KiB
Docker

ARG PYTHON_VERSION=3.11.9
FROM python:${PYTHON_VERSION}-alpine AS builder
ARG VERSION=6.4.0
ARG CHECKSUM=da7676ea7836022faef3b733e2b0431d0237ffec3796a0a5460e6a94a1c0cdd5
ARG CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
RUN apk add --no-cache build-base libffi-dev perl zlib-dev diffutils libstdc++ gcompat \
bash wget py3-cffi py3-zope-interface py3-cryptography
RUN wget -O duoauthproxy.tgz https://dl.duosecurity.com/duoauthproxy-${VERSION}-src.tgz
RUN echo "${CHECKSUM} duoauthproxy.tgz" | sha256sum -c
RUN tar xzf duoauthproxy.tgz
WORKDIR duoauthproxy-${VERSION}-src
RUN mkdir -p duoauthproxy-build/usr/local/lib/python${PYTHON_VERSION%.*}/
RUN cp -R /usr/lib/python${PYTHON_VERSION%.*}/site-packages duoauthproxy-build/usr/local/lib/python${PYTHON_VERSION%.*}/
RUN sed -i '/$(CFFI) \\/d' Makefile
RUN sed -i '/$(ZOPE_INTERFACE) \\/d' Makefile
RUN sed -i '/$(CRYPTOGRAPHY) \\/d' Makefile
RUN make
RUN LD_PRELOAD=libgcompat.so.0 duoauthproxy-build/install --install-dir /app --service-user nobody --log-group nobody --create-init-script no --enable-selinux=no
RUN rm -rf /app/usr/local/lib/python${PYTHON_VERSION%.*}/test
RUN chown -R nobody:nobody /app/conf
FROM alpine:edge
WORKDIR /app
RUN apk add --no-cache libgcc libffi-dev gcompat su-exec
USER 0:0
COPY --from=builder /app /app
COPY entrypoint.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]