# syntax=docker/dockerfile:1 FROM alpine:3 as rootfs-stage # environment ENV ROOTFS=/root-out ENV REL=edge ENV ARCH=armv7 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ alpine-keys,\ apk-tools,\ busybox,\ libc-utils # install packages RUN \ apk add --no-cache \ bash \ xz # build rootfs 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 # set version for s6 overlay ARG S6_OVERLAY_VERSION="3.1.2.1" ARG S6_OVERLAY_ARCH="armhf" # 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-${S6_OVERLAY_ARCH}.tar.xz /tmp RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${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 /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp 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" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="TheLamer" ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods" # environment variables ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ HOME="/root" \ TERM="xterm" \ S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ S6_VERBOSITY=1 \ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ bash \ ca-certificates \ coreutils \ curl \ jq \ netcat-openbsd \ procps-ng \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ groupmod -g 1000 users && \ useradd -u 911 -U -d /config -s /bin/false abc && \ usermod -G users abc && \ mkdir -p \ /app \ /config \ /defaults && \ echo "**** add qemu ****" && \ curl -o \ /usr/bin/qemu-arm-static -L \ "https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static" && \ chmod +x /usr/bin/qemu-arm-static && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* # add local files COPY root/ / ENTRYPOINT ["/init"]