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