# syntax = docker/dockerfile:experimental FROM debian:stable AS gem-builder WORKDIR /build COPY . ./ RUN ./bin/omnibus setup && \ ./bin/omnibus build license_management && \ mkdir -p /opt/toolcache && \ cp pkg/*.deb /opt/toolcache/ FROM debian:stable AS mono-builder RUN apt-get update -q RUN apt-get install --no-install-recommends -y apt-transport-https dirmngr gnupg ca-certificates RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN echo "deb https://download.mono-project.com/repo/debian stable-buster main" | tee /etc/apt/sources.list.d/mono-official-stable.list RUN apt-get update -q RUN mv /etc/apt/apt.conf.d/docker-clean /etc/apt/apt.conf.d/docker-clean.bak RUN apt-get install -y --no-install-recommends nuget referenceassemblies-pcl ca-certificates-mono RUN mkdir -p /opt/toolcache && cp /var/cache/apt/archives/*.deb /opt/toolcache/ FROM debian:stable-slim ENV ASDF_DATA_DIR="/opt/asdf" ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:/opt/gitlab/.local/bin:${PATH}" ENV TERM="xterm" WORKDIR /opt/gitlab COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc RUN mkdir -p /opt/toolcache COPY --from=gem-builder /opt/toolcache/*.deb /opt/toolcache/ COPY --from=mono-builder /opt/toolcache/*.deb /opt/toolcache/mono/ COPY config/install.sh /opt/install.sh RUN bash /opt/install.sh COPY run.sh / ENTRYPOINT ["/run.sh"]