Compare commits

23 Commits

Author SHA1 Message Date
Gitea Action
642d1cc033 9.3 [skip ci] 2026-03-23 20:23:10 +00:00
80853ea6f2 9.3
All checks were successful
/ release-and-build (push) Successful in 3m21s
2026-03-23 20:19:49 +00:00
Gitea Action
1ee80ecd63 9.3 [skip ci] 2026-03-23 20:13:31 +00:00
40beeedfa8 9.3
All checks were successful
/ release-and-build (push) Successful in 3m18s
2026-03-23 20:10:13 +00:00
035f66ddb1 VERSION.history aktualisiert
All checks were successful
/ release-and-build (push) Successful in 3m18s
2026-03-23 19:59:08 +00:00
b910307ae0 buildargs.env aktualisiert
Some checks failed
/ release-and-build (push) Has been cancelled
2026-03-23 19:56:26 +00:00
6cfb526f8b RHEL 9.2
All checks were successful
/ release-and-build (push) Successful in 2m47s
2026-03-23 16:49:36 +00:00
Gitea Action
ec6c889611 VERSION.history aktualisiert [skip ci] 2026-03-23 16:42:46 +00:00
2525fd16b1 VERSION.history aktualisiert
All checks were successful
/ release-and-build (push) Successful in 2m49s
2026-03-23 16:39:56 +00:00
4b7d09001a .gitea/workflows/build-and-push.yaml aktualisiert
Some checks failed
/ release-and-build (push) Has been cancelled
2026-03-23 16:39:08 +00:00
Gitea Action
1de39774ac .gitea/workflows/build-and-push.yaml aktualisiert [skip ci] 2026-03-23 16:18:18 +00:00
77d89f187e .gitea/workflows/build-and-push.yaml aktualisiert
All checks were successful
/ release-and-build (push) Successful in 2m57s
2026-03-23 16:15:21 +00:00
Gitea Action
ba48437ccd [skip ci] 2026-03-22 05:02:59 +00:00
Gitea Action
8660cadce7 Merge pull request fix s6-package url and extract (#2) from dev into main Reviewed-on: #2 [skip ci] 2026-03-18 13:55:19 +00:00
507f107299 Merge pull request 'fix s6-package url and extract' (#2) from dev into main
All checks were successful
/ release-and-build (push) Successful in 3m38s
Reviewed-on: #2
2026-03-18 13:51:43 +00:00
330ab02b39 fix s6-package url and extract 2026-03-18 02:47:35 +01:00
Gitea Action
af22084961 Merge pull request dev (#1) from dev into main Reviewed-on: #1 [skip ci] 2026-03-18 00:48:58 +00:00
715fa453cd Merge pull request 'dev' (#1) from dev into main
All checks were successful
/ release-and-build (push) Successful in 3m41s
Reviewed-on: #1
2026-03-18 00:45:21 +00:00
4c4a1b8f0e 5. 2026-03-17 23:54:36 +01:00
90c1a914da 4. 2026-03-17 23:49:01 +01:00
14f8d5d6d8 3. 2026-03-17 23:44:15 +01:00
7832b40a01 2. versuch 2026-03-17 23:40:53 +01:00
2b76b3a434 first try 2026-03-17 23:27:36 +01:00
8 changed files with 246 additions and 70 deletions

View File

@@ -371,11 +371,27 @@ jobs:
run: |
git config --local user.email "action@pi-farm.de"
git config --local user.name "Gitea Action"
# Sicherstellen, dass wir etwas zum Committen haben
git add VERSION.history README.md docker-compose.yml
# Nur committen, wenn es Änderungen gibt
git diff --quiet && git diff --staged --quiet || git commit -m "${{ env.FINAL_MSG }} [skip ci]"
git tag -f "v${{ steps.prep.outputs.docker_tag }}"
git push origin main
git push -f origin "v${{ steps.prep.outputs.docker_tag }}"
# Das Tag exakt so setzen, wie es in prep definiert wurde (ohne extra 'v')
TARGET_TAG="${{ steps.prep.outputs.docker_tag }}"
git tag -f "$TARGET_TAG"
if [[ "${{ gitea.ref }}" == refs/tags/* ]]; then
echo "🏷️ Build aus Tag getriggert: $TARGET_TAG"
# Wir pushen das Tag (force), um die Doku-Updates einzuschließen
git push -f origin "$TARGET_TAG"
else
echo "🌿 Build aus Branch/Schedule getriggert: ${{ gitea.ref_name }}"
# In den Branch pushen (HEAD:branch_name) und das Tag setzen
git push origin HEAD:${{ gitea.ref_name }}
git push -f origin "$TARGET_TAG"
fi
- name: Cleanup Temporary Tags on Docker Hub
if: steps.check_changes.outputs.should_build == 'true' && contains(steps.prep.outputs.push_targets, 'dockerhub')

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
**/node_modules
**/dist
**/*.log
.vscode/*
# Betriebssystem-Dateien
.DS_Store

View File

@@ -1,27 +1,83 @@
# Example Dockerfile for amd64
ARG BASE_IMAGE=alpine:latest
# syntax=docker/dockerfile:1
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
ARG TZ
ARG APP_NAME
ARG APP_USER
LABEL build_version="${BUILD_MAINTAINER} version: ${BUILD_APP_VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="${BUILD_MAINTAINER}"
LABEL maintainer="${MAINTAINER}"
LABEL org.opencontainers.image.title="${APP_NAME}"
# 1. Basis-Setup: Zertifikate und EPEL
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}
ENV USER=${APP_USER}
# 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_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
COPY ./config /app/config
COPY ./data /app/data
# LSIO Mods Integration
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"
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/new-stable.tar.gz /tmp
RUN tar -C /etc/ -zxpf /tmp/new-stable.tar.gz && rm -rf /tmp/new-stable.tar.gz
RUN find /etc/s6-overlay/s6-rc.d/ -type f \( -name "run" -o -name "up" \) -exec chmod +x {} +
ENTRYPOINT ["/init"]

View File

@@ -1,27 +1,81 @@
# Example Dockerfile for arm64
ARG BASE_IMAGE=alpine:latest
# syntax=docker/dockerfile:1
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
ARG TZ
ARG APP_NAME
ARG APP_USER
LABEL build_version="${BUILD_MAINTAINER} version: ${BUILD_APP_VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="${BUILD_MAINTAINER}"
LABEL maintainer="${MAINTAINER}"
LABEL org.opencontainers.image.title="${APP_NAME}"
# 1. Basis-Setup: Zertifikate und EPEL
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}
ENV USER=${APP_USER}
# 2. S6 Overlay hinzufügen (explizit für aarch64)
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
COPY ./config /app/config
COPY ./data /app/data
# 4. LSIO Mods Integration (ohne package-install, da es via COPY root/ kommt)
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/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/new-stable.tar.gz /tmp
RUN tar -C /etc/ -zxpf /tmp/new-stable.tar.gz && rm -rf /tmp/new-stable.tar.gz
RUN find /etc/s6-overlay/s6-rc.d/ -type f \( -name "run" -o -name "up" \) -exec chmod +x {} +
ENTRYPOINT ["/init"]

View File

@@ -1,16 +1,53 @@
# Projekt: {{.RepoName}} [![Build Status](https://git.pi-farm.de/{{.Owner.Name}}/{{.RepoName}}/actions/workflows/build-and-push.yaml/badge.svg)](https://git.pi-farm.de/{{.Owner.Name}}/{{.RepoName}}/actions)
# docker-baseimage-rhel
This is a RHEL (UBI) based image with s6-overlay.
Based on the great work of Linuxserver.io
[![Build Status](https://git.pi-farm.de/pi-farm/docker-baseimage-rhel/actions/workflows/build-and-push.yaml/badge.svg)](https://git.pi-farm.de/pi-farm/docker-baseimage-rhel/actions)
[![Gitea Repo](https://img.shields.io/badge/gitea-repository-blue?logo=gitea&logoColor=white)](__REPO_URL__)
This repository is built and pushed automatically.
### 🏗️ Platform Support
| Architecture | Status | Base-Image |
| :--- | :--- | :--- |
| **x86_64** (amd64) | ✅ Active | `__BASE_IMAGE__` |
| **aarch64** (arm64) | __ARM_STATUS__ | `__BASE_IMAGE__` |
### 🚀 Docker Pull Command
### 🏗️ Platform Support
| Architecture | Status | Base Image | Build Date |
| :--- | :--- | :--- | :--- |
| x86_64 (amd64) | ✅ Active | registry.access.redhat.com/ubi9/ubi-minimal:9.3 | 23.03.2026 21:23 |
| aarch64 (arm64) | ✅ Active | registry.access.redhat.com/ubi9/ubi-minimal:9.3 | 23.03.2026 21:23 |
### 🚀 Docker Pull
```bash
docker pull git.pi-farm.de/{{.Owner.Name}}/{{.RepoName}}:latest
docker pull git.pi-farm.de/pi-farm/docker-baseimage-rhel:latest
```
---
*Last updated on: __DATE__*
### 🚀 Docker Compose
```yaml
services:
docker-baseimage-rhel:
image: git.pi-farm.de/pi-farm/docker-baseimage-rhel:latest
container_name: docker-baseimage-rhel
restart: unless-stopped
environment:
- TZ=Europe/Berlin
- PUID=1000
- PGID=1000
```
### 🚀 Docker Run
```bash
docker run -d \
--name docker-baseimage-rhel \
--restart unless-stopped \
-e TZ=Europe/Berlin \
-e PUID=1000 \
-e PGID=1000 \
git.pi-farm.de/pi-farm/docker-baseimage-rhel:latest
```
*Last updated on: 23.03.2026 21:23*
### 📜 Version History
| Version | Date | Status |
| :--- | :--- | :--- |
| **latest** | 23.03.2026 21:23 | 9.3 ✅ |
| **latest** | 23.03.2026 21:13 | 9.3 ✅ |

View File

@@ -0,0 +1,3 @@
| **latest** | 23.03.2026 21:23 | 9.3 ✅ |
| **latest** | 23.03.2026 21:13 | 9.3 ✅ |

View File

@@ -1,26 +1,25 @@
## BUILD STAGE
BUILD_TAG=1.00
BUILD_BASE_IMAGE=alpine:${BUILD_TAG}
## Examples for BUILD_BASE_IMAGE
# alpine:${BUILD_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_S6_ARCH_amd64=x86_64
#BUILD_S6_ARCH_aarch64=aarch64
#BUILD_S6_OVERLAY_VERSION=3.2.0.2
#BUILD_MAINTAINER=pi-farm
#BUILD_APP_VERSION=v${BUILD_TAG}
#BUILD_APP_NAME=basimage-alpine
#BUILD_APP_USER=pi
#BUILD_APP_GID=1000
BUILD_BASE_TAG=9.3
BUILD_TAG_LATEST=n
# Wir nutzen UBI Minimal für ein kleines Image
BUILD_BASE_IMAGE=registry.access.redhat.com/ubi9/ubi-minimal:${BUILD_BASE_TAG}
BUILD_RHEL_ARCH=x86_64
BUILD_RHEL_ARCH_AARCH64=aarch64
BUILD_RHEL_REL=9
BUILD_S6_ARCH_amd64=x86_64
BUILD_S6_ARCH_aarch64=aarch64
BUILD_S6_OVERLAY_VERSION=3.2.2.0
BUILD_MAINTAINER=pi-farm
BUILD_APP_VERSION=ubi9
BUILD_APP_NAME=baseimage-rhel
BUILD_APP_USER=pi
BUILD_APP_UID=1000
BUILD_APP_GID=1000
## ENV STAGE
ENV_TZ=Europe/Berlin
ENV_PUID=1000
ENV_PGID=1000
# VOL_CONFIG=./config:/config
# VOL_DATA=./data:/data
# PORT_WEB=8080:80
#PUSH=gitea,dockerhub
DESCRIPTION="Example example example"
PUSH=gitea
DESCRIPTION="This is a RHEL (UBI) based image with s6-overlay.\nBased on the great work of Linuxserver.io"

View File

@@ -1 +1,11 @@
services:
docker-baseimage-rhel:
image: git.pi-farm.de/pi-farm/docker-baseimage-rhel:latest
container_name: docker-baseimage-rhel
restart: unless-stopped
environment:
- TZ=Europe/Berlin
- PUID=1000
- PGID=1000