diff options
Diffstat (limited to 'dockerhub/debian-slim/Dockerfile')
-rw-r--r-- | dockerhub/debian-slim/Dockerfile | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/dockerhub/debian-slim/Dockerfile b/dockerhub/debian-slim/Dockerfile new file mode 100644 index 000000000..954c48d2f --- /dev/null +++ b/dockerhub/debian-slim/Dockerfile @@ -0,0 +1,77 @@ +FROM debian:bullseye-slim AS build + +# https://github.com/oven-sh/bun/releases +ARG BUN_VERSION=0.5.7 + +RUN apt-get update -qq \ + && apt-get install -qq --no-install-recommends \ + ca-certificates \ + curl \ + dirmngr \ + gpg \ + gpg-agent \ + unzip \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && arch="$(dpkg --print-architecture)" \ + && case "${arch##*-}" in \ + amd64) build="x64-baseline";; \ + arm64) build="aarch64";; \ + *) echo "error: unsupported architecture: ($arch)"; exit 1 ;; \ + esac \ + && version="$BUN_VERSION" \ + && case "$version" in \ + latest | canary | bun-v*) tag="$version"; ;; \ + v*) tag="bun-$version"; ;; \ + *) tag="bun-v$version"; ;; \ + esac \ + && case "$tag" in \ + latest) release="latest/download"; ;; \ + *) release="download/$tag"; ;; \ + esac \ + && curl "https://github.com/oven-sh/bun/releases/$release/bun-linux-$build.zip" \ + -fsSLO \ + --compressed \ + --retry 5 \ + || (echo "error: unknown release: ($tag)" && exit 1) \ + && for key in \ + "F3DCC08A8572C0749B3E18888EAB4D40A7B22B59" \ + ; do \ + gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" \ + || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \ + done \ + && gpg --update-trustdb \ + && curl "https://github.com/oven-sh/bun/releases/$release/SHASUMS256.txt.asc" \ + -fsSLO \ + --compressed \ + --retry 5 \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + || (echo "error: failed to verify release: ($tag)" && exit 1) \ + && grep " bun-linux-$build.zip\$" SHASUMS256.txt | sha256sum -c - \ + || (echo "error: failed to verify release: ($tag)" && exit 1) \ + && unzip "bun-linux-$build.zip" \ + && mv "bun-linux-$build/bun" /usr/local/bin/bun \ + && rm -f "bun-linux-$build.zip" SHASUMS256.txt.asc SHASUMS256.txt \ + && chmod +x /usr/local/bin/bun \ + && ln -s /usr/local/bin/bun /usr/local/bin/bunx \ + && which bun \ + && which bunx \ + && bun --version + +FROM debian:bullseye-slim + +RUN groupadd bun \ + --gid 1000 \ + && useradd bun \ + --uid 1000 \ + --gid bun \ + --shell /bin/sh \ + --create-home + +COPY docker-entrypoint.sh /usr/local/bin +COPY --from=build /usr/local/bin/bun /usr/local/bin +COPY --from=build /usr/local/bin/bunx /usr/local/bin + +WORKDIR /home/bun/app +ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] +CMD ["/usr/local/bin/bun"] |