99 lines
4.2 KiB
Docker
99 lines
4.2 KiB
Docker
# syntax=docker/dockerfile:1
|
|
ARG BUILD_BASE_IMAGE
|
|
FROM ${BUILD_BASE_IMAGE}
|
|
|
|
ARG BUILD_APP_VERSION
|
|
ARG BUILD_S6_ARCH_aarch64
|
|
ARG BUILD_S6_OVERLAY_VERSION
|
|
ARG BUILD_DEBIAN_REL
|
|
ARG BUILD_DEBIAN_ARCH_AARCH64
|
|
ARG BUILD_DATE
|
|
ARG BUILD_APP_VERSION
|
|
ARG MODS_VERSION="v3"
|
|
ARG PKG_INST_VERSION="v1"
|
|
ARG LSIOWN_VERSION="v1"
|
|
ARG WITHCONTENV_VERSION="v1"
|
|
ARG BUILD_APP_GID
|
|
ARG BUILD_APP_USER
|
|
ARG BUILD_MAINTAINER
|
|
ARG DEBIAN_FRONTEND="noninteractive"
|
|
LABEL build_version="${BUILD_MAINTAINER} version: ${BUILD_APP_VERSION} Build-date:- ${BUILD_DATE}"
|
|
LABEL maintainer="${BUILD_MAINTAINER}"
|
|
|
|
# add s6 overlay
|
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_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${BUILD_S6_OVERLAY_VERSION}/s6-overlay-${BUILD_S6_ARCH_aarch64}.tar.xz /tmp
|
|
RUN tar -C / -Jxpf /tmp/s6-overlay-${BUILD_S6_ARCH_aarch64}.tar.xz
|
|
|
|
# add s6 optional symlinks
|
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_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${BUILD_S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
|
|
RUN tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
|
|
|
|
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"
|
|
|
|
# set environment variables
|
|
ENV HOME="/root" \
|
|
LANGUAGE="de_DE.UTF-8" \
|
|
LANG="de_DE.UTF-8" \
|
|
TERM="xterm" \
|
|
S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
|
|
S6_VERBOSITY=1 \
|
|
S6_STAGE2_HOOK=/docker-mods \
|
|
VIRTUAL_ENV=/lsiopy \
|
|
PATH="/lsiopy/bin:$PATH"
|
|
|
|
RUN echo "**** install apt-utils and locales ****" && \
|
|
apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
apt-utils \
|
|
locales && \
|
|
echo "**** install packages ****" && \
|
|
apt-get install -y \
|
|
catatonit \
|
|
cron \
|
|
curl \
|
|
gnupg \
|
|
jq \
|
|
netcat-traditional \
|
|
tzdata && \
|
|
echo "**** add all sources ****" && \
|
|
echo "deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware" > /etc/apt/sources.list && \
|
|
echo "deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb http://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb-src http://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
echo "deb-src http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \
|
|
rm -f /etc/apt/sources.list.d/debian.sources && \
|
|
echo "**** generate locale ****" && \
|
|
locale-gen de_DE.UTF-8 && \
|
|
echo "**** create abc user and make our folders ****" && \
|
|
useradd -u 911 -U -d /config -s /bin/false ${BUILD_APP_USER} && \
|
|
usermod -G users ${BUILD_APP_USER} && \
|
|
mkdir -p \
|
|
/app \
|
|
/config \
|
|
/defaults \
|
|
/lsiopy && \
|
|
echo "**** cleanup ****" && \
|
|
apt-get -y autoremove && \
|
|
apt-get clean && \
|
|
rm -rf \
|
|
/tmp/* \
|
|
/var/lib/apt/lists/* \
|
|
/var/tmp/* \
|
|
/var/log/* \
|
|
/usr/share/man
|
|
|
|
# add local files
|
|
COPY root/ /
|
|
|
|
ENTRYPOINT ["/init"] |