From 7096b82e656e779d46c2d2a61c571dc14dfbcb56 Mon Sep 17 00:00:00 2001 From: "info@pi-farm.de" Date: Thu, 5 Feb 2026 12:09:51 +0000 Subject: [PATCH] Dockerfile aktualisiert --- Dockerfile | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index eb87c9e..d1ac931 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,38 +1,49 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.23 +FROM alpine:3.23 AS rootfs-stage -ARG TARGETARCH ARG S6_OVERLAY_VERSION="3.2.2.0" ARG ROOTFS=/root-out ARG REL=v3.23 +ARG ARCH=x86_64 ARG MIRROR=http://dl-cdn.alpinelinux.org/alpine -ARG PACKAGES=alpine-baselayout,alpine-keys,apk-tools,busybox,libc-utils,bash,xz,curl,ca-certificates +ARG PACKAGES=alpine-baselayout,\ +alpine-keys,\ +apk-tools,\ +busybox,\ +libc-utils -# map arch -RUN case "${TARGETARCH}" in \ - amd64) echo "x86_64" > /arch ;; \ - arm64) echo "aarch64" > /arch ;; \ - *) echo "unsupported arch" && exit 1 ;; \ - esac +# install packages +RUN \ + apk add --no-cache \ + bash \ + xz # build rootfs -RUN apk add --no-cache ${PACKAGES//,/ } +RUN \ + mkdir -p "${ROOTFS}/etc/apk" && \ + { \ + echo "${MIRROR}/${REL}/main"; \ + echo "${MIRROR}/${REL}/community"; \ + } > "${ROOTFS}/etc/apk/repositories" && \ + apk --root "${ROOTFS}" --no-cache --keys-dir /etc/apk/keys add --arch ${ARCH} --initdb ${PACKAGES//,/ } && \ + sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow -# s6 overlay -RUN ARCH="$(cat /arch)" && \ - curl -fsSL https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz \ - | tar -C / -Jxpf - && \ - curl -fsSL https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${ARCH}.tar.xz \ - | tar -C / -Jxpf - +# add s6 overlay +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp +RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${ARCH}.tar.xz /tmp +RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${ARCH}.tar.xz # add s6 optional symlinks ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp -RUN tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz +RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /root-out/usr/bin/with-contenv ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp -RUN tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz +RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz # Runtime stage +FROM scratch +COPY --from=rootfs-stage /root-out/ / ARG BUILD_DATE ARG VERSION ARG MODS_VERSION="v3"