Merge pull request 'dev' (#1) from dev into main
All checks were successful
/ release-and-build (push) Successful in 3m41s
All checks were successful
/ release-and-build (push) Successful in 3m41s
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@
|
|||||||
**/node_modules
|
**/node_modules
|
||||||
**/dist
|
**/dist
|
||||||
**/*.log
|
**/*.log
|
||||||
|
.vscode/*
|
||||||
|
|
||||||
# Betriebssystem-Dateien
|
# Betriebssystem-Dateien
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
92
Dockerfile
92
Dockerfile
@@ -1,27 +1,83 @@
|
|||||||
# Example Dockerfile for amd64
|
# syntax=docker/dockerfile:1
|
||||||
ARG BASE_IMAGE=alpine:latest
|
ARG BUILD_BASE_IMAGE
|
||||||
|
FROM ${BUILD_BASE_IMAGE}
|
||||||
|
|
||||||
FROM ${BASE_IMAGE}
|
ARG BUILD_APP_VERSION
|
||||||
|
ARG BUILD_S6_ARCH_amd64
|
||||||
|
ARG BUILD_S6_OVERLAY_VERSION
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG MODS_VERSION="v3"
|
||||||
|
ARG PKG_INST_VERSION="v1"
|
||||||
|
ARG LSIOWN_VERSION="v1"
|
||||||
|
ARG WITHCONTENV_VERSION="v1"
|
||||||
|
ARG BUILD_APP_USER
|
||||||
|
ARG BUILD_APP_UID
|
||||||
|
ARG BUILD_APP_GID
|
||||||
|
ARG BUILD_MAINTAINER
|
||||||
|
|
||||||
ARG MAINTAINER
|
LABEL build_version="${BUILD_MAINTAINER} version: ${BUILD_APP_VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
ARG TZ
|
LABEL maintainer="${BUILD_MAINTAINER}"
|
||||||
ARG APP_NAME
|
|
||||||
ARG APP_USER
|
|
||||||
|
|
||||||
LABEL maintainer="${MAINTAINER}"
|
# 1. Basis-Setup: Zertifikate und EPEL
|
||||||
LABEL org.opencontainers.image.title="${APP_NAME}"
|
RUN microdnf install -y --nodocs ca-certificates && \
|
||||||
|
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
|
||||||
|
microdnf update -y && \
|
||||||
|
microdnf install -y --nodocs \
|
||||||
|
xz \
|
||||||
|
tar \
|
||||||
|
shadow-utils \
|
||||||
|
tzdata && \
|
||||||
|
microdnf clean all
|
||||||
|
|
||||||
ENV TZ=${TZ}
|
# add s6 overlay
|
||||||
ENV USER=${APP_USER}
|
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_amd64}.tar.xz /tmp
|
||||||
|
RUN tar -C / -Jxpf /tmp/s6-overlay-${BUILD_S6_ARCH_amd64}.tar.xz
|
||||||
|
|
||||||
RUN apk add --no-cache tzdata ca-certificates
|
# 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
|
||||||
|
|
||||||
WORKDIR /app
|
# LSIO Mods Integration
|
||||||
COPY ./config /app/config
|
ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
|
||||||
COPY ./data /app/data
|
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"
|
||||||
|
|
||||||
RUN adduser -D ${APP_USER} && chown -R ${APP_USER}:${APP_USER} /app
|
# 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"
|
||||||
|
|
||||||
USER ${APP_USER}
|
# 2. Pakete installieren (curl entfernt, da als curl-minimal bereits vorhanden)
|
||||||
|
RUN echo "**** install packages ****" && \
|
||||||
|
microdnf install -y --nodocs \
|
||||||
|
glibc-all-langpacks \
|
||||||
|
jq \
|
||||||
|
nmap-ncat \
|
||||||
|
cronie && \
|
||||||
|
microdnf clean all
|
||||||
|
|
||||||
CMD ["sh"]
|
# 3. User und Verzeichnisse (getrennt vom Paket-Install!)
|
||||||
|
RUN echo "**** create user and folders ****" && \
|
||||||
|
if ! getent group ${BUILD_APP_GID} >/dev/null; then \
|
||||||
|
groupadd -g ${BUILD_APP_GID} ${BUILD_APP_USER}; \
|
||||||
|
fi && \
|
||||||
|
useradd -u ${BUILD_APP_UID} -g ${BUILD_APP_GID} -d /config -s /bin/false ${BUILD_APP_USER} && \
|
||||||
|
mkdir -p /app /config /defaults /lsiopy
|
||||||
|
|
||||||
|
# 7. Lokale Skripte kopieren und Ausführungsrechte für S6 reparieren
|
||||||
|
ADD https://git.pi-farm.de/pi-farm/s6-overlay/archive/stable.tar.gz /tmp
|
||||||
|
RUN tar -C / -zxpf /tmp/stable.tar.gz && rm -rf /tmp/stable.tar.gz
|
||||||
|
RUN find /etc/s6-overlay/s6-rc.d/ -type f \( -name "run" -o -name "up" \) -exec chmod +x {} +
|
||||||
|
|
||||||
|
ENTRYPOINT ["/init"]
|
||||||
@@ -1,27 +1,81 @@
|
|||||||
# Example Dockerfile for arm64
|
# syntax=docker/dockerfile:1
|
||||||
ARG BASE_IMAGE=alpine:latest
|
ARG BUILD_BASE_IMAGE
|
||||||
|
FROM ${BUILD_BASE_IMAGE}
|
||||||
|
|
||||||
FROM ${BASE_IMAGE}
|
ARG BUILD_APP_VERSION
|
||||||
|
ARG BUILD_S6_ARCH_aarch64
|
||||||
|
ARG BUILD_S6_OVERLAY_VERSION
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG MODS_VERSION="v3"
|
||||||
|
ARG LSIOWN_VERSION="v1"
|
||||||
|
ARG WITHCONTENV_VERSION="v1"
|
||||||
|
ARG BUILD_APP_USER
|
||||||
|
ARG BUILD_APP_UID
|
||||||
|
ARG BUILD_APP_GID
|
||||||
|
ARG BUILD_MAINTAINER
|
||||||
|
|
||||||
ARG MAINTAINER
|
LABEL build_version="${BUILD_MAINTAINER} version: ${BUILD_APP_VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
ARG TZ
|
LABEL maintainer="${BUILD_MAINTAINER}"
|
||||||
ARG APP_NAME
|
|
||||||
ARG APP_USER
|
|
||||||
|
|
||||||
LABEL maintainer="${MAINTAINER}"
|
# 1. Basis-Setup: Zertifikate und EPEL
|
||||||
LABEL org.opencontainers.image.title="${APP_NAME}"
|
RUN microdnf install -y --nodocs ca-certificates && \
|
||||||
|
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
|
||||||
|
microdnf update -y && \
|
||||||
|
microdnf install -y --nodocs \
|
||||||
|
xz \
|
||||||
|
tar \
|
||||||
|
shadow-utils \
|
||||||
|
tzdata && \
|
||||||
|
microdnf clean all
|
||||||
|
|
||||||
ENV TZ=${TZ}
|
# 2. S6 Overlay hinzufügen (explizit für aarch64)
|
||||||
ENV USER=${APP_USER}
|
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
|
||||||
|
|
||||||
RUN apk add --no-cache tzdata ca-certificates
|
# 3. S6 optionale 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
|
||||||
|
|
||||||
WORKDIR /app
|
# 4. LSIO Mods Integration (ohne package-install, da es via COPY root/ kommt)
|
||||||
COPY ./config /app/config
|
ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
|
||||||
COPY ./data /app/data
|
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"
|
||||||
|
|
||||||
RUN adduser -D ${APP_USER} && chown -R ${APP_USER}:${APP_USER} /app
|
# 5. Umgebungsvariablen setzen
|
||||||
|
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"
|
||||||
|
|
||||||
USER ${APP_USER}
|
# 2. Pakete installieren (curl entfernt, da als curl-minimal bereits vorhanden)
|
||||||
|
RUN echo "**** install packages ****" && \
|
||||||
|
microdnf install -y --nodocs \
|
||||||
|
glibc-all-langpacks \
|
||||||
|
jq \
|
||||||
|
nmap-ncat \
|
||||||
|
cronie && \
|
||||||
|
microdnf clean all
|
||||||
|
|
||||||
CMD ["sh"]
|
# 3. User und Verzeichnisse (getrennt vom Paket-Install!)
|
||||||
|
RUN echo "**** create user and folders ****" && \
|
||||||
|
if ! getent group ${BUILD_APP_GID} >/dev/null; then \
|
||||||
|
groupadd -g ${BUILD_APP_GID} ${BUILD_APP_USER}; \
|
||||||
|
fi && \
|
||||||
|
useradd -u ${BUILD_APP_UID} -g ${BUILD_APP_GID} -d /config -s /bin/false ${BUILD_APP_USER} && \
|
||||||
|
mkdir -p /app /config /defaults /lsiopy
|
||||||
|
|
||||||
|
# 7. Lokale Skripte kopieren und Ausführungsrechte für S6 reparieren
|
||||||
|
ADD https://git.pi-farm.de/pi-farm/s6-overlay/archive/stable.tar.gz /tmp
|
||||||
|
RUN tar -C / -zxpf /tmp/stable.tar.gz && rm -rf /tmp/stable.tar.gz
|
||||||
|
RUN find /etc/s6-overlay/s6-rc.d/ -type f \( -name "run" -o -name "up" \) -exec chmod +x {} +
|
||||||
|
|
||||||
|
ENTRYPOINT ["/init"]
|
||||||
@@ -1,26 +1,25 @@
|
|||||||
## BUILD STAGE
|
## BUILD STAGE
|
||||||
BUILD_TAG=1.00
|
BUILD_BASE_TAG=9.3
|
||||||
BUILD_BASE_IMAGE=alpine:${BUILD_TAG}
|
BUILD_TAG_LATEST=y
|
||||||
## Examples for BUILD_BASE_IMAGE
|
# Wir nutzen UBI Minimal für ein kleines Image
|
||||||
# alpine:${BUILD_TAG}
|
BUILD_BASE_IMAGE=registry.access.redhat.com/ubi9/ubi-minimal:latest
|
||||||
# git.pi-farm.de/pi-farm/docker-baseimage-alpine:v${BUILD_TAG}
|
|
||||||
#BUILD_ALPINE_ARCH_AMD64=x86_64
|
BUILD_RHEL_ARCH=x86_64
|
||||||
#BUILD_ALPINE_ARCH_AARCH64=aarch64
|
BUILD_RHEL_ARCH_AARCH64=aarch64
|
||||||
#BUILD_S6_ARCH_amd64=x86_64
|
BUILD_RHEL_REL=9
|
||||||
#BUILD_S6_ARCH_aarch64=aarch64
|
BUILD_S6_ARCH_amd64=x86_64
|
||||||
#BUILD_S6_OVERLAY_VERSION=3.2.0.2
|
BUILD_S6_ARCH_aarch64=aarch64
|
||||||
#BUILD_MAINTAINER=pi-farm
|
BUILD_S6_OVERLAY_VERSION=3.2.2.0
|
||||||
#BUILD_APP_VERSION=v${BUILD_TAG}
|
BUILD_MAINTAINER=pi-farm
|
||||||
#BUILD_APP_NAME=basimage-alpine
|
BUILD_APP_VERSION=ubi9
|
||||||
#BUILD_APP_USER=pi
|
BUILD_APP_NAME=baseimage-rhel
|
||||||
#BUILD_APP_GID=1000
|
BUILD_APP_USER=pi
|
||||||
|
BUILD_APP_UID=1000
|
||||||
|
BUILD_APP_GID=1000
|
||||||
|
|
||||||
## ENV STAGE
|
## ENV STAGE
|
||||||
ENV_TZ=Europe/Berlin
|
ENV_TZ=Europe/Berlin
|
||||||
ENV_PUID=1000
|
ENV_PUID=1000
|
||||||
ENV_PGID=1000
|
ENV_PGID=1000
|
||||||
# VOL_CONFIG=./config:/config
|
PUSH=gitea
|
||||||
# VOL_DATA=./data:/data
|
DESCRIPTION="This is a RHEL (UBI) based image with s6-overlay.\nBased on the great work of Linuxserver.io"
|
||||||
# PORT_WEB=8080:80
|
|
||||||
#PUSH=gitea,dockerhub
|
|
||||||
DESCRIPTION="Example example example"
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user