This commit is contained in:
78
Dockerfile
78
Dockerfile
@@ -1,35 +1,53 @@
|
||||
ARG BUILD_BASE_IMAGE
|
||||
FROM ${BUILD_BASE_IMAGE}
|
||||
# syntax=docker/dockerfile:1
|
||||
ARG BUILD_BASE_IMAGE=alpine:latest #Fallback alpine:latest
|
||||
FROM ${BUILD_BASE_IMAGE} AS rootfs-stage
|
||||
|
||||
ARG MAINTAINER
|
||||
ARG TZ
|
||||
ARG APP_NAME
|
||||
ARG APP_USER
|
||||
ARG BUILD_S6_OVERLAY_VERSION
|
||||
ARG BUILD_S6_ARCH_amd64
|
||||
# environment
|
||||
ENV REL=${BUILD_DEBIAN_REL}
|
||||
ENV ARCH=${BUILD_DEBIAN_ARCH}
|
||||
|
||||
LABEL maintainer="${MAINTAINER}"
|
||||
LABEL org.opencontainers.image.title="${APP_NAME}"
|
||||
# install packages
|
||||
RUN \
|
||||
apk add --no-cache \
|
||||
bash \
|
||||
curl \
|
||||
tzdata \
|
||||
xz
|
||||
|
||||
ENV TZ=${TZ}
|
||||
ENV USER=${APP_USER}
|
||||
# grab base tarball
|
||||
RUN \
|
||||
mkdir /root-out && \
|
||||
curl -o \
|
||||
/rootfs.tar.gz -L \
|
||||
https://github.com/debuerreotype/docker-debian-artifacts/raw/refs/heads/dist-${ARCH}/${REL}/slim/oci/blobs/rootfs.tar.gz && \
|
||||
tar xf \
|
||||
/rootfs.tar.gz -C \
|
||||
/root-out && \
|
||||
rm -rf \
|
||||
/root-out/var/log/*
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends xz-utils \
|
||||
tzdata
|
||||
# set version for s6 overlay
|
||||
ARG S6_OVERLAY_VERSION=${BUILD_S6_OVERLAY_VERSION}
|
||||
ARG S6_OVERLAY_ARCH=${BUILD_S6_ARCH_amd64}
|
||||
|
||||
# add s6 overlay
|
||||
ADD https://github.com/just-containers/s6-overlay/releases/download/v${BUILD_S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
|
||||
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${BUILD_S6_OVERLAY_VERSION}/s6-overlay-${BUILD_S6_ARCH_amd64}.tar.xz /tmp
|
||||
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${BUILD_S6_ARCH_amd64}.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${BUILD_S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
|
||||
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 && unlink /root-out/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
|
||||
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 BUILD_APP_VERSION
|
||||
ARG MODS_VERSION="v3"
|
||||
@@ -50,18 +68,8 @@ ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-s
|
||||
# set environment variables
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
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"
|
||||
|
||||
# environment variables
|
||||
ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \
|
||||
HOME="/root" \
|
||||
LANGUAGE="en_US.UTF-8" \
|
||||
LANG="en_US.UTF-8" \
|
||||
TERM="xterm" \
|
||||
S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
|
||||
S6_VERBOSITY=1 \
|
||||
@@ -128,9 +136,9 @@ RUN \
|
||||
rm -f /etc/apt/sources.list.d/debian.sources && \
|
||||
echo "**** generate locale ****" && \
|
||||
locale-gen en_US.UTF-8 && \
|
||||
echo "**** create abc user and make our folders ****" && \
|
||||
useradd -u ${BUILD_APP_UID} -U -d /config -s /bin/false ${USER} && \
|
||||
usermod -G users ${USER} && \
|
||||
echo "**** create pi 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 \
|
||||
|
||||
@@ -6,6 +6,8 @@ BUILD_BASE_IMAGE=debian:${BUILD_BASE_TAG}
|
||||
# git.pi-farm.de/pi-farm/docker-baseimage-alpine:v${BUILD_TAG}
|
||||
BUILD_ALPINE_ARCH_AMD64=x86_64
|
||||
BUILD_ALPINE_ARCH_AARCH64=aarch64
|
||||
BUILD_DEBIAN_ARCH=amd64
|
||||
BUILD_DEBIAN_REL=trixie
|
||||
BUILD_S6_ARCH_amd64=x86_64
|
||||
BUILD_S6_ARCH_aarch64=aarch64
|
||||
BUILD_S6_OVERLAY_VERSION=3.2.2.0
|
||||
@@ -15,6 +17,8 @@ BUILD_APP_NAME=baseimage-debian
|
||||
BUILD_APP_USER=pi
|
||||
BUILD_APP_UID=1000
|
||||
BUILD_APP_GID=1000
|
||||
TARGET_BASE_TAG=trixie-slim
|
||||
TARGET_BASE_IMAGE=debian:${TARGET_BASE_TAG}
|
||||
## ENV STAGE
|
||||
ENV_TZ=Europe/Berlin
|
||||
ENV_PUID=1000
|
||||
|
||||
Reference in New Issue
Block a user