FROM debian:stable as builder RUN set -xe;\ apt-get update &&\ apt-get install -y debootstrap &&\ mount &&\ debootstrap --include=apt,ca-certificates,curl --foreign --variant=minbase bullseye /dest &&\ sed -i 's/setup_proc//' /dest/debootstrap/suite-script FROM scratch as bootstrapped COPY --from=builder /dest / RUN set -xe;\ /debootstrap/debootstrap --second-stage &&\ rm -rf /var/cache/apt/archives/* &&\ rm -rf /var/lib/apt/lists/* FROM bootstrapped as toolbuilder ENV GOSU_VERSION="1.14" ENV SUEXEC_VERSION="0.2" ENV DUMB_INIT_VERSION="1.2.5" RUN set -xe;\ apt-get update &&\ apt-get install -y git golang &&\ git clone https://github.com/tianon/gosu.git /build &&\ cd /build &&\ git checkout $GOSU_VERSION &&\ go mod download &&\ go build RUN set -xe;\ apt-get install -y build-essential &&\ cd / &&\ curl -LO https://github.com/Yelp/dumb-init/archive/v${DUMB_INIT_VERSION}.tar.gz &&\ tar xvzf v${DUMB_INIT_VERSION}.tar.gz &&\ cd dumb-init-${DUMB_INIT_VERSION} &&\ make &&\ cp dumb-init / RUN set -xe;\ apt-get install -y libc6-dev make gcc &&\ cd / &&\ curl -LO https://github.com/ncopa/su-exec/archive/refs/tags/v0.2.tar.gz &&\ tar xvaf v0.2.tar.gz &&\ cd su-exec-* &&\ make &&\ cp su-exec / FROM bootstrapped ARG DATE ENV GOSU_VERSION="1.12" ENV DUMB_INIT_VERSION="1.2.3" COPY --from=toolbuilder /build/gosu /usr/local/sbin/gosu COPY --from=toolbuilder /dumb-init /usr/local/sbin/dumb-init COPY --from=toolbuilder /su-exec /usr/local/sbin/su-exec COPY apt-install /bin/apt-install COPY checkupdates /bin/checkupdates CMD "bash" LABEL version.debian=bullseye \ version.gosu=$GOSU_VERSION \ version.dumb-init=$DUMB_INIT_VERSION \ build.date=$DATE