gvaldap/Dockerfile

69 lines
1.6 KiB
Docker
Raw Normal View History

2020-03-03 12:22:45 +01:00
ARG DEBIAN_RELEASE=buster
2023-02-19 17:45:35 +01:00
FROM debian:$DEBIAN_RELEASE AS builder
ARG GVAAPP=gvaldap
ARG POETRY_VERSION=1.3.1
2020-03-03 12:22:45 +01:00
2020-03-03 13:12:41 +01:00
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
2023-02-19 17:45:35 +01:00
ENV DEBIAN_FRONTEND=noninteractive
2020-03-03 12:22:45 +01:00
RUN apt-get update \
2023-02-19 17:45:35 +01:00
&& apt-get install -y --no-install-recommends \
build-essential \
curl \
git \
libldap2-dev \
libsasl2-dev \
python3-dev \
python3-setuptools \
python3-virtualenv \
python3-wheel
RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/root/.local POETRY_VERSION=$POETRY_VERSION python3 - \
&& /root/.local/bin/poetry config virtualenvs.in-project true
WORKDIR /srv/$GVAAPP
COPY poetry.lock pyproject.toml /srv/$GVAAPP/
RUN /root/.local/bin/poetry install --only=main
2020-03-03 12:22:45 +01:00
2023-02-19 17:45:35 +01:00
FROM debian:$DEBIAN_RELEASE
LABEL maintainer="Jan Dittberner <jan@dittberner.info>"
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
2020-03-03 12:22:45 +01:00
2020-03-03 13:12:41 +01:00
RUN apt-get update \
2023-02-19 17:45:35 +01:00
&& apt-get install -y --no-install-recommends \
ca-certificates \
dumb-init \
gettext \
python3 \
python3-pip \
python3-wheel \
2020-03-03 13:12:41 +01:00
&& apt-get clean \
2023-02-19 17:45:35 +01:00
&& rm -rf /var/cache/apt/archives /var/lib/apt/lists/*
2020-03-03 12:22:45 +01:00
2023-02-19 17:45:35 +01:00
ARG GVAAPP=gvaldap
2020-03-03 13:12:41 +01:00
ARG GVAGID=2000
ARG GVAUID=2000
WORKDIR /srv/$GVAAPP
2020-03-03 12:22:45 +01:00
2020-03-03 13:12:41 +01:00
RUN addgroup --gid $GVAGID $GVAAPP ; \
2023-02-19 17:45:35 +01:00
adduser --home /home/$GVAAPP --shell /bin/bash --uid $GVAUID --gid $GVAGID --disabled-password \
--gecos "User for gnuviechadmin component $GVAAPP" $GVAAPP
COPY --chown=$GVAAPP:$GVAAPP --from=builder /srv/$GVAAPP/.venv /srv/$GVAAPP/.venv
2020-03-03 12:22:45 +01:00
2020-03-03 13:12:41 +01:00
USER $GVAAPP
2020-03-03 12:22:45 +01:00
2020-03-03 13:12:41 +01:00
VOLUME /srv/$GVAAPP
2020-03-03 12:22:45 +01:00
2023-02-19 17:45:35 +01:00
COPY ${GVAAPP}.sh /srv/
2020-03-03 12:22:45 +01:00
2023-02-19 17:45:35 +01:00
ENTRYPOINT ["dumb-init", "/srv/${GVAAPP}.sh"]