mirror of
https://github.com/linuxserver/docker-baseimage-el.git
synced 2026-01-09 07:31:54 +08:00
105 lines
3.2 KiB
Docker
105 lines
3.2 KiB
Docker
# 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"]
|