# syntax=docker/dockerfile:1 FROM registry.access.redhat.com/ubi9/ubi AS base # args ARG MODS_VERSION="v3" ARG PKG_INST_VERSION="v1" ARG LSIOWN_VERSION="v1" ARG WITHCONTENV_VERSION="v1" ARG S6_OVERLAY_VERSION="3.2.0.2" ARG S6_OVERLAY_ARCH="x86_64" # add local files COPY /root / # disable subscription manager RUN \ sed -i \ 's/enabled=1/enabled=0/g' \ /etc/yum/pluginconf.d/subscription-manager.conf # enable extra repos RUN \ dnf localinstall -y --nogpgcheck \ https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm && \ dnf localinstall -y --nogpgcheck \ https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm # install base tools RUN \ dnf -y --setopt=install_weak_deps=False --best install --allowerasing \ busybox \ ca-certificates \ catatonit \ coreutils \ curl \ findutils \ hostname \ jq \ netcat \ procps \ shadow \ tzdata \ xz \ which # user setup RUN \ useradd -u 911 -U -d /config -s /bin/false abc && \ usermod -G users abc && \ mkdir -p \ /app \ /config \ /defaults \ /lsiopy # 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 / -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 / -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 / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /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 # more files ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods" ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run" ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" "/usr/bin/lsiown" ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/with-contenv.${WITHCONTENV_VERSION}" "/usr/bin/with-contenv" # cleanup RUN \ dnf autoremove -y && \ dnf clean all && \ sed -i \ 's/yum$ociregion.$ocidomain/yum.oracle.com/g' \ /etc/yum.repos.d/*.repo && \ rm -rf \ /tmp/* \ /var/cache/dnf/* # runtime stage FROM scratch COPY --from=base / / ARG BUILD_DATE ARG VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="TheLamer" # 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 \ VIRTUAL_ENV=/lsiopy \ PATH="/lsiopy/bin:$PATH" ENTRYPOINT ["/init"]