Compare commits

...

11 Commits

Author SHA1 Message Date
LinuxServer-CI
08127222fa Bot Updating Package Versions 2024-02-12 19:46:57 +00:00
LinuxServer-CI
0d894f8ca8 Bot Updating Package Versions 2024-02-09 18:31:07 +00:00
LinuxServer-CI
6ff1368f5f Bot Updating Package Versions 2024-02-02 18:29:58 +00:00
LinuxServer-CI
65c299b32f Bot Updating Package Versions 2024-01-26 16:42:34 +00:00
LinuxServer-CI
6aa0b5611d Bot Updating Templated Files 2024-01-26 16:39:55 +00:00
Eric Nemchik
fc295cdcad Merge pull request #141 from linuxserver/3.19-development
Rebase to Alpine 3.19
2024-01-26 10:37:56 -06:00
LinuxServer-CI
d9800ee920 Bot Updating Package Versions 2024-01-19 18:33:34 +00:00
LinuxServer-CI
5fbe7b8c94 Bot Updating Package Versions 2024-01-12 18:39:53 +00:00
LinuxServer-CI
450b8c49ae Bot Updating Templated Files 2024-01-12 18:36:21 +00:00
LinuxServer-CI
d0c3c7fb32 Bot Updating Templated Files 2024-01-12 18:33:53 +00:00
Eric Nemchik
27b68856c7 Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 19:20:34 -06:00
6 changed files with 405 additions and 405 deletions

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.18 FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.19
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -15,11 +15,11 @@ ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
RUN \ RUN \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apk add --no-cache \ apk add --no-cache \
php82-intl \ php83-intl \
php82-pdo_pgsql \ php83-pdo_pgsql \
php82-pdo_sqlite \ php83-pdo_sqlite \
php82-pdo_mysql \ php83-pdo_mysql \
php82-tokenizer && \ php83-tokenizer && \
echo "**** configure nginx ****" && \ echo "**** configure nginx ****" && \
echo 'fastcgi_param PHP_AUTH_USER $remote_user; # Heimdall user authorization' >> \ echo 'fastcgi_param PHP_AUTH_USER $remote_user; # Heimdall user authorization' >> \
/etc/nginx/fastcgi_params && \ /etc/nginx/fastcgi_params && \

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.18 FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.19
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -15,11 +15,11 @@ ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
RUN \ RUN \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apk add --no-cache \ apk add --no-cache \
php82-intl \ php83-intl \
php82-pdo_pgsql \ php83-pdo_pgsql \
php82-pdo_sqlite \ php83-pdo_sqlite \
php82-pdo_mysql \ php83-pdo_mysql \
php82-tokenizer && \ php83-tokenizer && \
echo "**** configure nginx ****" && \ echo "**** configure nginx ****" && \
echo 'fastcgi_param PHP_AUTH_USER $remote_user; # Heimdall user authorization' >> \ echo 'fastcgi_param PHP_AUTH_USER $remote_user; # Heimdall user authorization' >> \
/etc/nginx/fastcgi_params && \ /etc/nginx/fastcgi_params && \

295
Jenkinsfile vendored
View File

@@ -16,6 +16,7 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id') GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
EXT_GIT_BRANCH = '2.x' EXT_GIT_BRANCH = '2.x'
EXT_USER = 'linuxserver' EXT_USER = 'linuxserver'
EXT_REPO = 'Heimdall' EXT_REPO = 'Heimdall'
@@ -61,11 +62,16 @@ pipeline {
env.COMMIT_SHA = sh( env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''', script: '''git rev-parse HEAD''',
returnStdout: true).trim() returnStdout: true).trim()
env.GH_DEFAULT_BRANCH = sh(
script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml' env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
} }
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''', script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
@@ -130,7 +136,7 @@ pipeline {
steps{ steps{
script{ script{
env.EXT_RELEASE_CLEAN = sh( env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''', script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''',
returnStdout: true).trim() returnStdout: true).trim()
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/ def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
@@ -148,7 +154,7 @@ pipeline {
} }
if (env.SEMVER != null) { if (env.SEMVER != null) {
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") { if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") {
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}" env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
} }
println("SEMVER: ${env.SEMVER}") println("SEMVER: ${env.SEMVER}")
@@ -266,115 +272,150 @@ pipeline {
} }
} }
steps { steps {
sh '''#! /bin/bash withCredentials([
set -e [
TEMPDIR=$(mktemp -d) $class: 'UsernamePasswordMultiBinding',
docker pull ghcr.io/linuxserver/jenkins-builder:latest credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest usernameVariable: 'DOCKERUSER',
# Stage 1 - Jenkinsfile update passwordVariable: 'DOCKERPASS'
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then ]
mkdir -p ${TEMPDIR}/repo ]) {
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} sh '''#! /bin/bash
cd ${TEMPDIR}/repo/${LS_REPO} set -e
git checkout -f development TEMPDIR=$(mktemp -d)
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ docker pull ghcr.io/linuxserver/jenkins-builder:latest
git add Jenkinsfile docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
git commit -m 'Bot Updating Templated Files' # Stage 1 - Jenkinsfile update
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} mkdir -p ${TEMPDIR}/repo
echo "Updating Jenkinsfile" git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
rm -Rf ${TEMPDIR} cd ${TEMPDIR}/repo/${LS_REPO}
exit 0 git checkout -f development
else cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
echo "Jenkinsfile is up to date." git add Jenkinsfile
fi git commit -m 'Bot Updating Templated Files'
# Stage 2 - Delete old templates git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
for i in ${OLD_TEMPLATES}; do echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
if [[ -f "${i}" ]]; then echo "Updating Jenkinsfile"
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" rm -Rf ${TEMPDIR}
fi exit 0
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f development
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f development
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ echo "Jenkinsfile is up to date."
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all # Stage 2 - Delete old templates
fi OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
rm -Rf ${TEMPDIR}''' for i in ${OLD_TEMPLATES}; do
script{ if [[ -f "${i}" ]]; then
env.FILES_UPDATED = sh( TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', fi
returnStdout: true).trim() done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f development
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f development
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
fi
# Stage 4 - Sync Readme to Docker Hub
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
} }
} }
} }
@@ -568,7 +609,8 @@ pipeline {
wait wait
git add package_versions.txt git add package_versions.txt
git commit -m 'Bot Updating Package Versions' git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER} echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process" echo "Package tag updated, stopping build process"
else else
@@ -864,39 +906,6 @@ EOF
) ''' ) '''
} }
} }
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
}
}
// If this is a Pull request send the CI link as a comment on it // If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') { stage('Pull Request Comment') {
when { when {

View File

@@ -87,7 +87,6 @@ To help you get started creating a container from this image you can either use
```yaml ```yaml
--- ---
version: "2.1"
services: services:
heimdall: heimdall:
image: lscr.io/linuxserver/heimdall:development image: lscr.io/linuxserver/heimdall:development
@@ -97,7 +96,7 @@ services:
- PGID=1000 - PGID=1000
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- /path/to/appdata/config:/config - /path/to/heimdall/config:/config
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443
@@ -114,7 +113,7 @@ docker run -d \
-e TZ=Etc/UTC \ -e TZ=Etc/UTC \
-p 80:80 \ -p 80:80 \
-p 443:443 \ -p 443:443 \
-v /path/to/appdata/config:/config \ -v /path/to/heimdall/config:/config \
--restart unless-stopped \ --restart unless-stopped \
lscr.io/linuxserver/heimdall:development lscr.io/linuxserver/heimdall:development
``` ```
@@ -130,7 +129,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-e PUID=1000` | for UserID - see below for explanation | | `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). | | `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-v /config` | Contains all relevant configuration files. | | `-v /config` | Persistent config files |
## Environment variables from files (Docker secrets) ## Environment variables from files (Docker secrets)
@@ -201,7 +200,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
## Updating Info ## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image. Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers: Below are the instructions for updating containers:
@@ -266,21 +265,6 @@ Below are the instructions for updating containers:
docker image prune docker image prune
``` ```
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once heimdall
```
* You can also remove the old dangling images: `docker image prune`
**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
### Image Update Notifications - Diun (Docker Image Update Notifier) ### Image Update Notifications - Diun (Docker Image Update Notifier)
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. **tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
@@ -308,6 +292,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **23.12.23:** - Rebase to Alpine 3.19 with php 8.3.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf. * **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **13.04.23:** - Move ssl.conf include to default.conf. * **13.04.23:** - Move ssl.conf include to default.conf.
* **20.01.23:** - Rebase to alpine 3.17 with php8.1. * **20.01.23:** - Rebase to alpine 3.17 with php8.1.

View File

@@ -1,229 +1,234 @@
NAME VERSION TYPE NAME VERSION TYPE
Hidden Input 1, 0, 0, 0 dotnet Hidden Input 1, 0, 0, 0 dotnet
alpine-baselayout 3.4.3-r1 apk alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r1 apk alpine-baselayout-data 3.4.3-r2 apk
alpine-keys 2.4-r1 apk alpine-keys 2.4-r1 apk
alpine-release 3.18.5-r0 apk alpine-release 3.19.1-r0 apk
apache2-utils 2.4.58-r0 apk apache2-utils 2.4.58-r1 apk
apk-tools 2.14.0-r2 apk apk-tools 2.14.0-r5 apk
apr 1.7.4-r0 apk apr 1.7.4-r0 apk
apr-util 1.6.3-r1 apk apr-util 1.6.3-r1 apk
argon2-libs 20190702-r4 apk argon2-libs 20190702-r5 apk
barryvdh/laravel-ide-helper v2.12.3 php-composer barryvdh/laravel-ide-helper v2.12.3 php-composer
barryvdh/reflection-docblock v2.1.0 php-composer barryvdh/reflection-docblock v2.1.0 php-composer
bash 5.2.15-r5 apk bash 5.2.21-r0 apk
brick/math 0.9.3 php-composer brick/math 0.9.3 php-composer
brotli-libs 1.0.9-r14 apk brotli-libs 1.1.0-r1 apk
busybox 1.36.1-r5 apk busybox 1.36.1-r15 apk
busybox-binsh 1.36.1-r5 apk busybox-binsh 1.36.1-r15 apk
ca-certificates 20230506-r0 apk c-ares 1.24.0-r1 apk
ca-certificates-bundle 20230506-r0 apk ca-certificates 20230506-r0 apk
clue/stream-filter v1.6.0 php-composer ca-certificates-bundle 20230506-r0 apk
composer 2.6.6 binary clue/stream-filter v1.6.0 php-composer
composer/pcre 3.1.0 php-composer composer 2.7.0 binary
coreutils 9.3-r1 apk composer/pcre 3.1.0 php-composer
curl 8.5.0-r0 apk coreutils 9.4-r2 apk
dflydev/dot-access-data v3.0.2 php-composer coreutils-env 9.4-r2 apk
doctrine/cache 2.2.0 php-composer coreutils-fmt 9.4-r2 apk
doctrine/dbal 3.5.1 php-composer coreutils-sha512sum 9.4-r2 apk
doctrine/deprecations v1.0.0 php-composer curl 8.5.0-r0 apk
doctrine/event-manager 1.2.0 php-composer dflydev/dot-access-data v3.0.2 php-composer
doctrine/inflector 2.0.6 php-composer doctrine/cache 2.2.0 php-composer
doctrine/instantiator 1.4.1 php-composer doctrine/dbal 3.5.1 php-composer
doctrine/lexer 1.2.3 php-composer doctrine/deprecations v1.0.0 php-composer
dragonmantank/cron-expression v3.3.2 php-composer doctrine/event-manager 1.2.0 php-composer
egulias/email-validator 2.1.25 php-composer doctrine/inflector 2.0.6 php-composer
facade/flare-client-php 1.10.0 php-composer doctrine/instantiator 1.4.1 php-composer
facade/ignition 2.17.6 php-composer doctrine/lexer 1.2.3 php-composer
facade/ignition-contracts 1.0.2 php-composer dragonmantank/cron-expression v3.3.2 php-composer
fideloper/proxy 4.4.2 php-composer egulias/email-validator 2.1.25 php-composer
filp/whoops 2.14.6 php-composer facade/flare-client-php 1.10.0 php-composer
fzaninotto/faker v1.9.2 php-composer facade/ignition 2.17.6 php-composer
git 2.40.1-r0 apk facade/ignition-contracts 1.0.2 php-composer
graham-campbell/bounded-cache v1.3.0 php-composer fideloper/proxy 4.4.2 php-composer
graham-campbell/github v10.6.0 php-composer filp/whoops 2.14.6 php-composer
graham-campbell/manager v4.7.0 php-composer fzaninotto/faker v1.9.2 php-composer
graham-campbell/result-type v1.1.0 php-composer git 2.43.0-r0 apk
guzzlehttp/guzzle 7.5.0 php-composer graham-campbell/bounded-cache v1.3.0 php-composer
guzzlehttp/promises 1.5.2 php-composer graham-campbell/github v10.6.0 php-composer
guzzlehttp/psr7 2.4.3 php-composer graham-campbell/manager v4.7.0 php-composer
hamcrest/hamcrest-php v2.0.1 php-composer graham-campbell/result-type v1.1.0 php-composer
icu-data-en 73.2-r2 apk guzzlehttp/guzzle 7.5.0 php-composer
icu-libs 73.2-r2 apk guzzlehttp/promises 1.5.2 php-composer
jq 1.6-r4 apk guzzlehttp/psr7 2.4.3 php-composer
knplabs/github-api v3.6.0 php-composer hamcrest/hamcrest-php v2.0.1 php-composer
laravel/framework v8.83.26 php-composer hiredis 1.2.0-r0 apk
laravel/serializable-closure v1.2.2 php-composer icu-data-en 74.1-r0 apk
laravel/tinker v2.7.3 php-composer icu-libs 74.1-r0 apk
laravel/ui v3.4.6 php-composer jq 1.7.1-r0 apk
laravelcollective/html v6.3.0 php-composer knplabs/github-api v3.6.0 php-composer
league/commonmark 2.3.7 php-composer laravel/framework v8.83.26 php-composer
league/config v1.1.1 php-composer laravel/serializable-closure v1.2.2 php-composer
league/flysystem 1.1.10 php-composer laravel/tinker v2.7.3 php-composer
league/mime-type-detection 1.11.0 php-composer laravel/ui v3.4.6 php-composer
libacl 2.3.1-r3 apk laravelcollective/html v6.3.0 php-composer
libattr 2.5.1-r4 apk league/commonmark 2.3.7 php-composer
libbsd 0.11.7-r1 apk league/config v1.1.1 php-composer
libbz2 1.0.8-r5 apk league/flysystem 1.1.10 php-composer
libc-utils 0.7.2-r5 apk league/mime-type-detection 1.11.0 php-composer
libcrypto3 3.1.4-r1 apk libacl 2.3.1-r4 apk
libcurl 8.5.0-r0 apk libattr 2.5.1-r5 apk
libedit 20221030.3.1-r1 apk libbsd 0.11.7-r3 apk
libexpat 2.5.0-r1 apk libbz2 1.0.8-r6 apk
libgcc 12.2.1_git20220924-r10 apk libc-utils 0.7.2-r5 apk
libidn2 2.3.4-r1 apk libcrypto3 3.1.4-r5 apk
libintl 0.21.1-r7 apk libcurl 8.5.0-r0 apk
libmd 1.0.4-r2 apk libedit 20230828.3.1-r3 apk
libncursesw 6.4_p20230506-r0 apk libexpat 2.5.0-r2 apk
libpq 15.5-r0 apk libgcc 13.2.1_git20231014-r0 apk
libproc2 4.0.4-r0 apk libidn2 2.3.4-r4 apk
libssl3 3.1.4-r1 apk libintl 0.22.3-r0 apk
libstdc++ 12.2.1_git20220924-r10 apk libmd 1.1.0-r0 apk
libunistring 1.1-r1 apk libncursesw 6.4_p20231125-r0 apk
libuuid 2.38.1-r8 apk libpq 16.2-r0 apk
libxml2 2.11.6-r0 apk libproc2 4.0.4-r0 apk
libzip 1.9.2-r2 apk libssl3 3.1.4-r5 apk
linux-pam 1.5.2-r10 apk libstdc++ 13.2.1_git20231014-r0 apk
logrotate 3.21.0-r1 apk libunistring 1.1-r2 apk
mockery/mockery 1.5.1 php-composer libuuid 2.39.3-r0 apk
monolog/monolog 2.8.0 php-composer libxml2 2.11.6-r0 apk
musl 1.2.4-r2 apk libzip 1.10.1-r0 apk
musl-utils 1.2.4-r2 apk linux-pam 1.5.3-r7 apk
myclabs/deep-copy 1.11.0 php-composer logrotate 3.21.0-r1 apk
nano 7.2-r1 apk mockery/mockery 1.5.1 php-composer
ncurses-terminfo-base 6.4_p20230506-r0 apk monolog/monolog 2.8.0 php-composer
nesbot/carbon 2.63.0 php-composer musl 1.2.4_git20230717-r4 apk
netcat-openbsd 1.219-r1 apk musl-utils 1.2.4_git20230717-r4 apk
nette/schema v1.2.3 php-composer myclabs/deep-copy 1.11.0 php-composer
nette/utils v3.2.8 php-composer nano 7.2-r1 apk
nghttp2-libs 1.57.0-r0 apk ncurses-terminfo-base 6.4_p20231125-r0 apk
nginx 1.24.0-r7 apk nesbot/carbon 2.63.0 php-composer
nikic/php-parser v4.15.2 php-composer netcat-openbsd 1.226-r0 apk
nunomaduro/collision v5.11.0 php-composer nette/schema v1.2.3 php-composer
oniguruma 6.9.8-r1 apk nette/utils v3.2.8 php-composer
openssl 3.1.4-r1 apk nghttp2-libs 1.58.0-r0 apk
opis/closure 3.6.3 php-composer nginx 1.24.0-r15 apk
pcre 8.45-r3 apk nikic/php-parser v4.15.2 php-composer
pcre2 10.42-r1 apk nunomaduro/collision v5.11.0 php-composer
phar-io/manifest 2.0.3 php-composer oniguruma 6.9.9-r0 apk
phar-io/version 3.2.1 php-composer openssl 3.1.4-r5 apk
php-http/cache-plugin 1.7.5 php-composer opis/closure 3.6.3 php-composer
php-http/client-common 2.6.0 php-composer pcre 8.45-r3 apk
php-http/discovery 1.14.3 php-composer pcre2 10.42-r2 apk
php-http/httplug 2.3.0 php-composer phar-io/manifest 2.0.3 php-composer
php-http/message 1.13.0 php-composer phar-io/version 3.2.1 php-composer
php-http/message-factory v1.0.2 php-composer php-http/cache-plugin 1.7.5 php-composer
php-http/multipart-stream-builder 1.2.0 php-composer php-http/client-common 2.6.0 php-composer
php-http/promise 1.1.0 php-composer php-http/discovery 1.14.3 php-composer
php82 8.2.13-r0 apk php-http/httplug 2.3.0 php-composer
php82-common 8.2.13-r0 apk php-http/message 1.13.0 php-composer
php82-ctype 8.2.13-r0 apk php-http/message-factory v1.0.2 php-composer
php82-curl 8.2.13-r0 apk php-http/multipart-stream-builder 1.2.0 php-composer
php82-fileinfo 8.2.13-r0 apk php-http/promise 1.1.0 php-composer
php82-fpm 8.2.13-r0 apk php83 8.3.2-r0 apk
php82-iconv 8.2.13-r0 apk php83-common 8.3.2-r0 apk
php82-intl 8.2.13-r0 apk php83-ctype 8.3.2-r0 apk
php82-mbstring 8.2.13-r0 apk php83-curl 8.3.2-r0 apk
php82-mysqlnd 8.2.13-r0 apk php83-fileinfo 8.3.2-r0 apk
php82-openssl 8.2.13-r0 apk php83-fpm 8.3.2-r0 apk
php82-pdo 8.2.13-r0 apk php83-iconv 8.3.2-r0 apk
php82-pdo_mysql 8.2.13-r0 apk php83-intl 8.3.2-r0 apk
php82-pdo_pgsql 8.2.13-r0 apk php83-mbstring 8.3.2-r0 apk
php82-pdo_sqlite 8.2.13-r0 apk php83-mysqlnd 8.3.2-r0 apk
php82-phar 8.2.13-r0 apk php83-openssl 8.3.2-r0 apk
php82-session 8.2.13-r0 apk php83-pdo 8.3.2-r0 apk
php82-simplexml 8.2.13-r0 apk php83-pdo_mysql 8.3.2-r0 apk
php82-tokenizer 8.2.13-r0 apk php83-pdo_pgsql 8.3.2-r0 apk
php82-xml 8.2.13-r0 apk php83-pdo_sqlite 8.3.2-r0 apk
php82-xmlwriter 8.2.13-r0 apk php83-phar 8.3.2-r0 apk
php82-zip 8.2.13-r0 apk php83-session 8.3.2-r0 apk
phpdocumentor/reflection-common 2.2.0 php-composer php83-simplexml 8.3.2-r0 apk
phpdocumentor/type-resolver 1.6.2 php-composer php83-tokenizer 8.3.2-r0 apk
phpoption/phpoption 1.9.0 php-composer php83-xml 8.3.2-r0 apk
phpunit/php-code-coverage 9.2.19 php-composer php83-xmlwriter 8.3.2-r0 apk
phpunit/php-file-iterator 3.0.6 php-composer php83-zip 8.3.2-r0 apk
phpunit/php-invoker 3.1.1 php-composer phpdocumentor/reflection-common 2.2.0 php-composer
phpunit/php-text-template 2.0.4 php-composer phpdocumentor/type-resolver 1.6.2 php-composer
phpunit/php-timer 5.0.3 php-composer phpoption/phpoption 1.9.0 php-composer
phpunit/phpunit 9.5.26 php-composer phpunit/php-code-coverage 9.2.19 php-composer
popt 1.19-r2 apk phpunit/php-file-iterator 3.0.6 php-composer
procps-ng 4.0.4-r0 apk phpunit/php-invoker 3.1.1 php-composer
psr/cache 1.0.1 php-composer phpunit/php-text-template 2.0.4 php-composer
psr/container 1.1.2 php-composer phpunit/php-timer 5.0.3 php-composer
psr/event-dispatcher 1.0.0 php-composer phpunit/phpunit 9.5.26 php-composer
psr/http-client 1.0.1 php-composer popt 1.19-r3 apk
psr/http-factory 1.0.1 php-composer procps-ng 4.0.4-r0 apk
psr/http-message 1.0.1 php-composer psr/cache 1.0.1 php-composer
psr/log 1.1.4 php-composer psr/container 1.1.2 php-composer
psr/simple-cache 1.0.1 php-composer psr/event-dispatcher 1.0.0 php-composer
psy/psysh v0.11.9 php-composer psr/http-client 1.0.1 php-composer
ralouphie/getallheaders 3.0.3 php-composer psr/http-factory 1.0.1 php-composer
ramsey/collection 1.2.2 php-composer psr/http-message 1.0.1 php-composer
ramsey/uuid 4.2.3 php-composer psr/log 1.1.4 php-composer
readline 8.2.1-r1 apk psr/simple-cache 1.0.1 php-composer
scanelf 1.3.7-r1 apk psy/psysh v0.11.9 php-composer
sebastian/cli-parser 1.0.1 php-composer ralouphie/getallheaders 3.0.3 php-composer
sebastian/code-unit 1.0.8 php-composer ramsey/collection 1.2.2 php-composer
sebastian/code-unit-reverse-lookup 2.0.3 php-composer ramsey/uuid 4.2.3 php-composer
sebastian/comparator 4.0.8 php-composer readline 8.2.1-r2 apk
sebastian/complexity 2.0.2 php-composer scanelf 1.3.7-r2 apk
sebastian/diff 4.0.4 php-composer sebastian/cli-parser 1.0.1 php-composer
sebastian/environment 5.1.4 php-composer sebastian/code-unit 1.0.8 php-composer
sebastian/exporter 4.0.5 php-composer sebastian/code-unit-reverse-lookup 2.0.3 php-composer
sebastian/global-state 5.0.5 php-composer sebastian/comparator 4.0.8 php-composer
sebastian/lines-of-code 1.0.3 php-composer sebastian/complexity 2.0.2 php-composer
sebastian/object-enumerator 4.0.4 php-composer sebastian/diff 4.0.4 php-composer
sebastian/object-reflector 2.0.4 php-composer sebastian/environment 5.1.4 php-composer
sebastian/recursion-context 4.0.4 php-composer sebastian/exporter 4.0.5 php-composer
sebastian/resource-operations 3.0.3 php-composer sebastian/global-state 5.0.5 php-composer
sebastian/type 3.2.0 php-composer sebastian/lines-of-code 1.0.3 php-composer
sebastian/version 3.0.2 php-composer sebastian/object-enumerator 4.0.4 php-composer
shadow 4.13-r4 apk sebastian/object-reflector 2.0.4 php-composer
skalibs 2.13.1.1-r1 apk sebastian/recursion-context 4.0.4 php-composer
sqlite-libs 3.41.2-r2 apk sebastian/resource-operations 3.0.3 php-composer
squizlabs/php_codesniffer 3.7.1 php-composer sebastian/type 3.2.0 php-composer
ssl_client 1.36.1-r5 apk sebastian/version 3.0.2 php-composer
swiftmailer/swiftmailer v6.3.0 php-composer shadow 4.14.2-r0 apk
symfony/cache v5.4.15 php-composer skalibs 2.14.0.1-r0 apk
symfony/cache-contracts v2.5.2 php-composer sqlite-libs 3.44.2-r0 apk
symfony/console v5.4.15 php-composer squizlabs/php_codesniffer 3.7.1 php-composer
symfony/css-selector v5.4.11 php-composer ssl_client 1.36.1-r15 apk
symfony/deprecation-contracts v2.5.2 php-composer swiftmailer/swiftmailer v6.3.0 php-composer
symfony/error-handler v5.4.15 php-composer symfony/cache v5.4.15 php-composer
symfony/event-dispatcher v5.4.9 php-composer symfony/cache-contracts v2.5.2 php-composer
symfony/event-dispatcher-contracts v2.5.2 php-composer symfony/console v5.4.15 php-composer
symfony/finder v5.4.11 php-composer symfony/css-selector v5.4.11 php-composer
symfony/http-foundation v5.4.15 php-composer symfony/deprecation-contracts v2.5.2 php-composer
symfony/http-kernel v5.4.15 php-composer symfony/error-handler v5.4.15 php-composer
symfony/mime v5.4.14 php-composer symfony/event-dispatcher v5.4.9 php-composer
symfony/options-resolver v5.4.11 php-composer symfony/event-dispatcher-contracts v2.5.2 php-composer
symfony/polyfill-ctype v1.27.0 php-composer symfony/finder v5.4.11 php-composer
symfony/polyfill-iconv v1.27.0 php-composer symfony/http-foundation v5.4.15 php-composer
symfony/polyfill-intl-grapheme v1.27.0 php-composer symfony/http-kernel v5.4.15 php-composer
symfony/polyfill-intl-idn v1.27.0 php-composer symfony/mime v5.4.14 php-composer
symfony/polyfill-intl-normalizer v1.27.0 php-composer symfony/options-resolver v5.4.11 php-composer
symfony/polyfill-mbstring v1.27.0 php-composer symfony/polyfill-ctype v1.27.0 php-composer
symfony/polyfill-php72 v1.27.0 php-composer symfony/polyfill-iconv v1.27.0 php-composer
symfony/polyfill-php73 v1.27.0 php-composer symfony/polyfill-intl-grapheme v1.27.0 php-composer
symfony/polyfill-php80 v1.27.0 php-composer symfony/polyfill-intl-idn v1.27.0 php-composer
symfony/polyfill-php81 v1.27.0 php-composer symfony/polyfill-intl-normalizer v1.27.0 php-composer
symfony/process v5.4.11 php-composer symfony/polyfill-mbstring v1.27.0 php-composer
symfony/routing v5.4.15 php-composer symfony/polyfill-php72 v1.27.0 php-composer
symfony/service-contracts v2.5.2 php-composer symfony/polyfill-php73 v1.27.0 php-composer
symfony/string v5.4.15 php-composer symfony/polyfill-php80 v1.27.0 php-composer
symfony/thanks v1.2.10 php-composer symfony/polyfill-php81 v1.27.0 php-composer
symfony/translation v5.4.14 php-composer symfony/process v5.4.11 php-composer
symfony/translation-contracts v2.5.2 php-composer symfony/routing v5.4.15 php-composer
symfony/var-dumper v5.4.14 php-composer symfony/service-contracts v2.5.2 php-composer
symfony/var-exporter v5.4.10 php-composer symfony/string v5.4.15 php-composer
symfony/yaml v5.4.14 php-composer symfony/thanks v1.2.10 php-composer
theseer/tokenizer 1.2.1 php-composer symfony/translation v5.4.14 php-composer
tijsverkoyen/css-to-inline-styles 2.2.5 php-composer symfony/translation-contracts v2.5.2 php-composer
tzdata 2023d-r0 apk symfony/var-dumper v5.4.14 php-composer
utmps-libs 0.1.2.1-r1 apk symfony/var-exporter v5.4.10 php-composer
vlucas/phpdotenv v5.5.0 php-composer symfony/yaml v5.4.14 php-composer
voku/portable-ascii 1.6.1 php-composer theseer/tokenizer 1.2.1 php-composer
webmozart/assert 1.11.0 php-composer tijsverkoyen/css-to-inline-styles 2.2.5 php-composer
xz-libs 5.4.3-r0 apk tzdata 2024a-r0 apk
zlib 1.2.13-r1 apk utmps-libs 0.1.2.2-r0 apk
zstd-libs 1.5.5-r4 apk vlucas/phpdotenv v5.5.0 php-composer
voku/portable-ascii 1.6.1 php-composer
webmozart/assert 1.11.0 php-composer
xz-libs 5.4.5-r0 apk
zlib 1.3.1-r0 apk
zstd-libs 1.5.5-r8 apk

View File

@@ -28,7 +28,7 @@ common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files." } - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- { external_port: "80", internal_port: "80", port_desc: "http gui" } - { external_port: "80", internal_port: "80", port_desc: "http gui" }
@@ -58,6 +58,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "23.12.23:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." } - { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }
- { date: "13.04.23:", desc: "Move ssl.conf include to default.conf." } - { date: "13.04.23:", desc: "Move ssl.conf include to default.conf." }
- { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." } - { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." }