Compare commits
19 Commits
fe4dc07a03
...
v3.23
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c21a4c2946 | ||
| fbd14e7c3c | |||
|
|
44cad43ac9 | ||
| 2dcadae371 | |||
|
|
6d398b7073 | ||
| bccd8aa596 | |||
|
|
475875f834 | ||
| 6d69e7965a | |||
|
|
eaa56774ee | ||
| fa61e29a57 | |||
|
|
6c344959d4 | ||
| 9c13a5df26 | |||
|
|
c109594ddb | ||
| 23e25a5096 | |||
|
|
8292e075a0 | ||
| 9f61a307cc | |||
|
|
ef48d62d59 | ||
| 65833dc3a7 | |||
| cb43774a14 |
@@ -1,11 +1,11 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
- "main"
|
||||
tags:
|
||||
- '*'
|
||||
- "*"
|
||||
schedule:
|
||||
- cron: '0 5 * * 0'
|
||||
- cron: "0 5 * * 0"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -29,6 +29,10 @@ jobs:
|
||||
|
||||
echo "push_targets=$PUSH" >> $GITHUB_OUTPUT
|
||||
|
||||
LATEST_FLAG="${BUILD_TAG_LATEST:-n}"
|
||||
LATEST_FLAG_LOWER=$(echo "$LATEST_FLAG" | tr '[:upper:]' '[:lower:]')
|
||||
echo "tag_latest=$LATEST_FLAG_LOWER" >> $GITHUB_OUTPUT
|
||||
|
||||
ARGS_HASH=$(grep "^BUILD_" buildargs.env | sha256sum | cut -d' ' -f1)
|
||||
echo "build_args_hash=$ARGS_HASH" >> $GITHUB_OUTPUT
|
||||
|
||||
@@ -117,6 +121,9 @@ jobs:
|
||||
BASE=${{ steps.prep.outputs.base_image }}
|
||||
REPO_PURE=${{ steps.prep.outputs.repo_pure }}
|
||||
|
||||
# NEU: Wir laden unser Flag rein
|
||||
TAG_LATEST="${{ steps.prep.outputs.tag_latest }}"
|
||||
|
||||
set -a
|
||||
source <(grep -v '^#' buildargs.env | sed 's/\r$//')
|
||||
set +a
|
||||
@@ -146,15 +153,33 @@ jobs:
|
||||
--pull --platform linux/arm64 -f Dockerfile.aarch64 \
|
||||
--label "pi_farm.base_digest=$BASE_SHA" --label "pi_farm.args_hash=$ARGS_HASH" --push .
|
||||
|
||||
# --- NEU: Dynamische Tags für Gitea ---
|
||||
GITEA_TAGS=("-t" "$IMAGE_GITEA:$TAG")
|
||||
if [ "$TAG_LATEST" == "y" ]; then
|
||||
GITEA_TAGS+=("-t" "$IMAGE_GITEA:latest")
|
||||
echo "🏷️ Gitea: 'latest' tag will be set."
|
||||
else
|
||||
echo "ℹ️ Gitea: 'latest' tag will not be set."
|
||||
fi
|
||||
|
||||
docker buildx imagetools create \
|
||||
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
||||
-t $IMAGE_GITEA:$TAG -t $IMAGE_GITEA:latest $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||
"${GITEA_TAGS[@]}" $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||
|
||||
if [[ "$PUSH" == *"dockerhub"* ]]; then
|
||||
DOCKERHUB_REPO="${{ secrets.DOCKERHUB_USERNAME }}/$REPO_PURE"
|
||||
|
||||
DH_TAGS=("-t" "$DOCKERHUB_REPO:$TAG")
|
||||
if [ "$TAG_LATEST" == "y" ]; then
|
||||
DH_TAGS+=("-t" "$DOCKERHUB_REPO:latest")
|
||||
echo "🏷️ Docker Hub: 'latest' tag will be set."
|
||||
else
|
||||
echo "ℹ️ Docker Hub: 'latest' tag will not be set."
|
||||
fi
|
||||
|
||||
docker buildx imagetools create \
|
||||
--annotation "index:pi_farm.base_digest=$BASE_SHA" --annotation "index:pi_farm.args_hash=$ARGS_HASH" \
|
||||
-t $DOCKERHUB_REPO:$TAG -t $DOCKERHUB_REPO:latest $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||
"${DH_TAGS[@]}" $IMAGE_GITEA:tmp-amd64 $IMAGE_GITEA:tmp-arm64
|
||||
fi
|
||||
|
||||
- name: Update Documentation and Compose
|
||||
@@ -407,14 +432,14 @@ jobs:
|
||||
- name: Cleanup Temporary Registry Tags (Gitea)
|
||||
if: steps.check_changes.outputs.should_build == 'true'
|
||||
run: |
|
||||
TOKEN="${{ secrets.GIT_TOKEN }}"
|
||||
ORG_NAME=$(echo "${{ gitea.repository }}" | cut -d'/' -f1)
|
||||
REPO_NAME=$(echo "${{ gitea.repository }}" | cut -d'/' -f2)
|
||||
TOKEN="${{ secrets.GIT_TOKEN }}"
|
||||
ORG_NAME=$(echo "${{ gitea.repository }}" | cut -d'/' -f1)
|
||||
REPO_NAME=$(echo "${{ gitea.repository }}" | cut -d'/' -f2)
|
||||
|
||||
for t in tmp-amd64 tmp-arm64; do
|
||||
curl -s -X DELETE "https://git.pi-farm.de/api/v1/packages/$ORG_NAME/container/$REPO_NAME/$t" -H "Authorization: token $TOKEN"
|
||||
curl -s -X DELETE "https://git.pi-farm.de/api/v1/packages/${ORG_NAME,,}/container/${REPO_NAME,,}/$t" -H "Authorization: token $TOKEN"
|
||||
done
|
||||
for t in tmp-amd64 tmp-arm64; do
|
||||
curl -s -X DELETE "https://git.pi-farm.de/api/v1/packages/$ORG_NAME/container/$REPO_NAME/$t" -H "Authorization: token $TOKEN"
|
||||
curl -s -X DELETE "https://git.pi-farm.de/api/v1/packages/${ORG_NAME,,}/container/${REPO_NAME,,}/$t" -H "Authorization: token $TOKEN"
|
||||
done
|
||||
|
||||
- name: Cleanup Docker Artifacts
|
||||
if: always()
|
||||
|
||||
18
README.md
18
README.md
@@ -12,8 +12,8 @@ This repository is built and pushed automatically.
|
||||
### 🏗️ Platform Support
|
||||
| Architecture | Status | Base Image | Build Date |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| x86_64 (amd64) | ✅ Active | alpine:3.23 | 18.02.2026 00:55 |
|
||||
| aarch64 (arm64) | ✅ Active | alpine:3.23 | 18.02.2026 00:55 |
|
||||
| x86_64 (amd64) | ✅ Active | alpine:3.23 | 25.02.2026 15:26 |
|
||||
| aarch64 (arm64) | ✅ Active | alpine:3.23 | 25.02.2026 15:26 |
|
||||
|
||||
### 🚀 Docker Pull
|
||||
```bash
|
||||
@@ -44,15 +44,17 @@ docker run -d \
|
||||
git.pi-farm.de/pi-farm/docker-baseimage-alpine:3.23
|
||||
```
|
||||
|
||||
*Last updated on: 18.02.2026 00:55*
|
||||
*Last updated on: 25.02.2026 15:26*
|
||||
|
||||
### 📜 Version History
|
||||
| Version | Date | Status |
|
||||
| :--- | :--- | :--- |
|
||||
| **3.23** | 18.02.2026 00:55 | update workflow to fix docker run syntax ✅ |
|
||||
| **3.23** | 18.02.2026 00:14 | edit workflow ✅ |
|
||||
| **3.23** | 18.02.2026 00:10 | update on buildargs.env ✅ |
|
||||
| **3.23** | 18.02.2026 00:00 | ✅ |
|
||||
| **3.23** | 17.02.2026 23:50 | ✅ |
|
||||
| **3.23** | 25.02.2026 15:26 | switch to s6-overlay version 3.2.2.0 ✅ |
|
||||
| **3.23** | 19.02.2026 23:08 | test fix for latest-tag in workflow on building v3.23 ✅ |
|
||||
| **3.22** | 19.02.2026 23:02 | add fix for latest-tag in workflow ✅ |
|
||||
| **3.23** | 19.02.2026 21:20 | build for alpine v3.23 ✅ |
|
||||
| **3.21** | 19.02.2026 21:16 | build for alpine v3.21 ✅ |
|
||||
| **3.23** | 19.02.2026 20:47 | build for v3.23 ✅ |
|
||||
| **3.22** | 19.02.2026 20:42 | build for alpine v3.22 ✅ |
|
||||
| **3.23** | 17.02.2026 23:44 | update on Readme.md and workflow ✅ |
|
||||
| **3.23** | 14.02.2026 01:06 | alpine 3.23 ✅ |
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
| **3.23** | 18.02.2026 00:55 | update workflow to fix docker run syntax ✅ |
|
||||
| **3.23** | 18.02.2026 00:14 | edit workflow ✅ |
|
||||
| **3.23** | 18.02.2026 00:10 | update on buildargs.env ✅ |
|
||||
| **3.23** | 18.02.2026 00:00 | ✅ |
|
||||
| **3.23** | 17.02.2026 23:50 | ✅ |
|
||||
| **3.23** | 25.02.2026 15:26 | switch to s6-overlay version 3.2.2.0 ✅ |
|
||||
| **3.23** | 19.02.2026 23:08 | test fix for latest-tag in workflow on building v3.23 ✅ |
|
||||
| **3.22** | 19.02.2026 23:02 | add fix for latest-tag in workflow ✅ |
|
||||
| **3.23** | 19.02.2026 21:20 | build for alpine v3.23 ✅ |
|
||||
| **3.21** | 19.02.2026 21:16 | build for alpine v3.21 ✅ |
|
||||
| **3.23** | 19.02.2026 20:47 | build for v3.23 ✅ |
|
||||
| **3.22** | 19.02.2026 20:42 | build for alpine v3.22 ✅ |
|
||||
| **3.23** | 17.02.2026 23:44 | update on Readme.md and workflow ✅ |
|
||||
| **3.23** | 14.02.2026 01:06 | alpine 3.23 ✅ |
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
BUILD_TAG=3.23
|
||||
BUILD_TAG_LATEST=y
|
||||
BUILD_BASE_IMAGE=alpine:${BUILD_TAG}
|
||||
# Examples for BASE_IMAGE
|
||||
# alpine:${BUILD_TAG}
|
||||
@@ -7,7 +8,7 @@ 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_S6_OVERLAY_VERSION=3.2.2.0
|
||||
BUILD_MAINTAINER=pi-farm
|
||||
BUILD_APP_VERSION=v${BUILD_TAG}
|
||||
BUILD_APP_NAME=baseimage-alpine
|
||||
|
||||
20
root/etc/s6-overlay/s6-rc.d/init-adduser/run
Normal file → Executable file
20
root/etc/s6-overlay/s6-rc.d/init-adduser/run
Normal file → Executable file
@@ -5,13 +5,13 @@ PUID=${PUID:-911}
|
||||
PGID=${PGID:-911}
|
||||
|
||||
if [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; then
|
||||
USERHOME=$(grep abc /etc/passwd | cut -d ":" -f6)
|
||||
usermod -d "/root" abc
|
||||
USERHOME=$(grep pi /etc/passwd | cut -d ":" -f6)
|
||||
usermod -d "/root" pi
|
||||
|
||||
groupmod -o -g "${PGID}" abc
|
||||
usermod -o -u "${PUID}" abc
|
||||
groupmod -o -g "${PGID}" pi
|
||||
usermod -o -u "${PUID}" pi
|
||||
|
||||
usermod -d "${USERHOME}" abc
|
||||
usermod -d "${USERHOME}" pi
|
||||
fi
|
||||
|
||||
if { [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; } || [[ ! ${LSIO_FIRST_PARTY} = "true" ]]; then
|
||||
@@ -26,8 +26,8 @@ GID/UID
|
||||
───────────────────────────────────────'
|
||||
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
|
||||
echo "
|
||||
User UID: $(id -u abc)
|
||||
User GID: $(id -g abc)
|
||||
User UID: $(id -u pi)
|
||||
User GID: $(id -g pi)
|
||||
───────────────────────────────────────"
|
||||
else
|
||||
echo "
|
||||
@@ -43,7 +43,7 @@ if [[ -f /build_version ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; then
|
||||
lsiown abc:abc /app
|
||||
lsiown abc:abc /config
|
||||
lsiown abc:abc /defaults
|
||||
lsiown pi:pi /app
|
||||
lsiown pi:pi /config
|
||||
lsiown pi:pi /defaults
|
||||
fi
|
||||
|
||||
0
root/etc/s6-overlay/s6-rc.d/init-crontab-config/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-crontab-config/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-custom-files/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-custom-files/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-device-perms/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-device-perms/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-envfile/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-envfile/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-migrations/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/init-migrations/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/svc-cron/run
Normal file → Executable file
0
root/etc/s6-overlay/s6-rc.d/svc-cron/run
Normal file → Executable file
Reference in New Issue
Block a user