mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
FROM python:3.12-alpine3.20 AS base
|
|
|
|
LABEL org.opencontainers.image.authors="Antoine Nguyen <tonio@ngyn.org>"
|
|
|
|
ENV VIRTUAL_ENV=/opt/venv
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
|
|
FROM base AS build
|
|
|
|
RUN apk add --update openssl librrd python3-dev libffi-dev \
|
|
gcc g++ musl-dev libxml2-dev libxslt-dev \
|
|
libressl-dev jpeg-dev rrdtool-dev file make \
|
|
gettext freetype-dev cairo-dev cargo git \
|
|
openldap-dev \
|
|
&& rm -rf /var/cache/apk/*
|
|
RUN python3 -m venv $VIRTUAL_ENV
|
|
WORKDIR /tmp
|
|
COPY . /tmp
|
|
RUN python -m pip install -U pip pip-tools ruff
|
|
RUN pip-compile --output-file=requirements.txt pyproject.toml
|
|
RUN pip-compile --extra=ldap --output-file=ldap-requirements.txt pyproject.toml
|
|
RUN pip-compile --extra=dev --output-file=dev-requirements.txt pyproject.toml
|
|
RUN pip-compile --extra=test --output-file=test-requirements.txt pyproject.toml
|
|
RUN pip install -r requirements.txt -r ldap-requirements.txt -r test-requirements.txt -r dev-requirements.txt
|
|
|
|
FROM base AS run
|
|
COPY docker/doveadm /usr/local/bin
|
|
RUN chmod +x /usr/local/bin/doveadm
|
|
COPY --from=build $VIRTUAL_ENV $VIRTUAL_ENV
|
|
RUN apk add --no-cache --update openssl librrd libxslt libjpeg libressl git rrdtool libmagic sudo sqlite libldap \
|
|
&& rm -rf /var/cache/apk/*
|
|
RUN mkdir /code
|
|
WORKDIR /code
|