Commit ee7cdca9 authored by Дмитрий Сафронов's avatar Дмитрий Сафронов
Browse files

Merge branch 'dockerfile2' into 'main'

dockerfile2

See merge request !16
parents ed73a590 47024a44
Loading
Loading
Loading
Loading
Loading
+12 −14
Original line number Diff line number Diff line
@@ -6,19 +6,18 @@ ARG SOPDS_GIT_TAG
############################################################

FROM $DOCKER_IMAGE_GIT AS git
RUN set -ex && \
	( git clone https://gitlab.cyberbrain.pw/tools/mirror/sopds.git /tmp || echo error: failed to clone master repository. ) && \
RUN ( git clone https://gitlab.cyberbrain.pw/tools/mirror/sopds.git /tmp || echo error: failed to clone master repository. ) && \
    git -C /tmp -c advice.detachedHead=false checkout ${SOPDS_GIT_TAG:-$(git -C /tmp tag | grep -e '^v' | sort -V | tail -n 1)} && \
	ls -la /tmp
    rm -rf /tmp/.git

############################################################

FROM python:3.10-slim AS base
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV BASE_DEPENDENCIES="libpq5 libmariadb3 libxml2 libxslt1.1 libffi8 libjpeg62-turbo zlib1g xz-utils bzip2"
ENV PATH="/opt/sopds/bin:$PATH"
WORKDIR /home/sopds
ARG BASE_DEPENDENCIES="libpq5 libmariadb3 libxml2 libxslt1.1 libffi8 libjpeg62-turbo zlib1g xz-utils bzip2"
RUN apt-get update && \
    apt-get install --no-install-recommends -y ${BASE_DEPENDENCIES} && \
    apt-get clean && \
@@ -27,7 +26,7 @@ RUN apt-get update && \
############################################################

FROM base AS builder
ENV BUILD_DEPENDENCIES="pkg-config build-essential libmariadb-dev libpq-dev libxml2-dev libxslt-dev libffi-dev libjpeg-dev zlib1g-dev liblzma-dev libbz2-dev"
ARG BUILD_DEPENDENCIES="pkg-config build-essential libmariadb-dev libpq-dev libxml2-dev libxslt-dev libffi-dev libjpeg-dev zlib1g-dev liblzma-dev libbz2-dev"
RUN apt-get update && \
    apt-get install --no-install-recommends -y ${BUILD_DEPENDENCIES} && \
    apt-get clean && \
@@ -42,22 +41,21 @@ RUN pip3 install --ignore-installed --no-cache-dir --upgrade --disable-pip-versi
############################################################

FROM base AS runtime
ENV RUNTIME_DEPENDENCIES="unzip" \
    OWNER_UID=1000 \
    OWNER_GID=1000
ARG RUNTIME_DEPENDENCIES="unzip"
RUN apt-get update && \
    apt-get install --no-install-recommends -y ${RUNTIME_DEPENDENCIES} && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* && \
    ( addgroup --system --gid $OWNER_GID sopds || echo sopds:x:$OWNER_GID:sopds | tee -a /etc/group ) && \
    rm -rf /var/lib/apt/lists/*
ARG OWNER_UID=1000 \
    OWNER_GID=1000
RUN ( addgroup --system --gid $OWNER_GID sopds || echo sopds:x:$OWNER_GID:sopds | tee -a /etc/group ) && \
    ( adduser --system --home /home/sopds --ingroup sopds --uid $OWNER_UID sopds --shell /bin/sh || echo sopds:x:$OWNER_UID:$OWNER_GID:Linux User,,,:/home/sopds:/bin/sh | tee -a /etc/passwd ) && \
    chown -R sopds:sopds /home/sopds
COPY --from=builder /opt/sopds/ /opt/sopds/
COPY --from=git --chown=sopds:sopds /tmp/ /home/sopds/
COPY superuser.py /home/sopds/
COPY --chown=sopds:sopds superuser.py /home/sopds/
COPY entrypoint.sh /entrypoint.sh
RUN set -ex && \
	chmod a+x /entrypoint.sh
RUN chmod a+x /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
CMD [ "help" ]
USER sopds:sopds