# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600' |
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl dnsutils git openssh-client unzip ; rm -rf /var/lib/apt/lists/* # buildkit |
RUN /bin/sh -c set -eux; case "$(dpkg --print-architecture)" in amd64) TRIPLET="x86_64-linux-gnu" ; FILES="/lib64/ld-linux-x86-64.so.2" ;; armhf) TRIPLET="arm-linux-gnueabihf" ; FILES="/lib/ld-linux-armhf.so.3 /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3";; arm64) TRIPLET="aarch64-linux-gnu" ; FILES="/lib/ld-linux-aarch64.so.1 /lib/aarch64-linux-gnu/ld-linux-aarch64.so.1" ;; *) echo "Unsupported architecture" ; exit 5;; esac; FILES="$FILES /etc/nsswitch.conf /etc/ssl/certs /usr/share/ca-certificates /lib/$TRIPLET/libc.so.6 /lib/$TRIPLET/libdl.so.2 /lib/$TRIPLET/libm.so.6 /lib/$TRIPLET/libnss_dns.so.2 /lib/$TRIPLET/libpthread.so.0 /lib/$TRIPLET/libresolv.so.2 /lib/$TRIPLET/librt.so.1"; for f in $FILES; do dir=$(dirname "$f"); mkdir -p "/runtime$dir"; cp --archive --link --dereference --no-target-directory "$f" "/runtime$f"; done # buildkit |
ENV DART_SDK=/usr/lib/dart |
ENV PATH=/usr/lib/dart/bin:/root/.pub-cache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
WORKDIR /root |
RUN /bin/sh -c set -eux; case "$(dpkg --print-architecture)" in amd64) DART_SHA256=c216fdd70f656c50c78dc6a0ffae6e5ced7a9a7ccedea3e402fa6b5ebe24788c; SDK_ARCH="x64";; armhf) DART_SHA256=7376e09dbb66aa8af25423a67c36f0ccb771ee280f12ed8157f1e26095abe67e; SDK_ARCH="arm";; arm64) DART_SHA256=3452ccad61e057eb7fa17e85ed1aa035d44c36e33dac07655717798f47e64ca8; SDK_ARCH="arm64";; esac; SDK="dartsdk-linux-${SDK_ARCH}-release.zip"; BASEURL="https://storage.googleapis.com/dart-archive/channels"; URL="$BASEURL/stable/release/3.7.2/sdk/$SDK"; echo "SDK: $URL" >> dart_setup.log ; curl -fLO "$URL"; echo "$DART_SHA256 *$SDK" | sha256sum --check --status --strict -; unzip "$SDK" && mv dart-sdk "$DART_SDK" && rm "$SDK" && chmod 755 "$DART_SDK" && chmod 755 "$DART_SDK/bin"; # buildkit |
LABEL author=Alden Bansemer maintainer=alden@knoban.com |
RUN /bin/sh -c apt update && apt -y install iproute2 git ca-certificates tzdata tini && useradd -m -d /home/container container # buildkit |
USER container |
ENV USER=container HOME=/home/container |
WORKDIR /home/container |
STOPSIGNAL SIGINT |
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh # buildkit |
RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit |
ENTRYPOINT ["/usr/bin/tini" "-g" "--"] |
CMD ["/entrypoint.sh"] |