Compare commits

...

16 Commits

Author SHA1 Message Date
aptalca
a8d03c5280 Merge pull request #460 from linuxserver/package-install
Run package installer as part of SWAG init to prevent init fail due to missing dns plugin
2024-03-05 08:31:23 -05:00
aptalca
907dfc8c03 Revert "Update root/etc/s6-overlay/s6-rc.d/init-certbot-config/run"
This reverts commit bf21a51e10.
2024-03-04 20:19:53 -05:00
aptalca
bf21a51e10 Update root/etc/s6-overlay/s6-rc.d/init-certbot-config/run
Co-authored-by: Eric Nemchik <eric@nemchik.com>
2024-03-04 19:33:01 -05:00
aptalca
32f72ac0b4 make it pretty, grep certbot-dns 2024-03-04 18:33:13 -05:00
aptalca
970fa75e87 run scripts direct 2024-03-04 18:23:04 -05:00
aptalca
137ad9f52e Run package installer as part of SWAG init to prevent init fail due to missing dns plugin 2024-03-04 18:10:49 -05:00
LinuxServer-CI
3145477f72 Bot Updating Package Versions 2024-03-04 22:52:37 +00:00
aptalca
58b9470c52 Merge pull request #458 from linuxserver/edgerepo
package moved to community repo
2024-03-04 17:47:44 -05:00
aptalca
68f5cf8d9e package moved to community repo 2024-03-04 17:11:41 -05:00
LinuxServer-CI
e8d452f4ce Bot Updating Package Versions 2024-02-24 03:25:25 +00:00
LinuxServer-CI
4abd6c9890 Bot Updating Templated Files 2024-02-24 03:21:49 +00:00
LinuxServer-CI
c335faabdc Bot Updating Templated Files 2024-02-24 03:18:57 +00:00
LinuxServer-CI
204dd90f9d Bot Updating Package Versions 2024-02-17 03:20:23 +00:00
LinuxServer-CI
92bfbc19cd Bot Updating Package Versions 2024-02-10 03:18:04 +00:00
LinuxServer-CI
cb3c74a6ee Bot Updating Package Versions 2024-02-08 21:18:13 +00:00
LinuxServer-CI
b7f40863fe Bot Updating Package Versions 2024-02-03 03:21:47 +00:00
10 changed files with 504 additions and 508 deletions

View File

@@ -67,10 +67,10 @@ body:
- type: textarea - type: textarea
attributes: attributes:
description: | description: |
Provide a full docker log, output of "docker logs linuxserver.io" Provide a full docker log, output of "docker logs swag"
label: Container logs label: Container logs
placeholder: | placeholder: |
Output of `docker logs linuxserver.io` Output of `docker logs swag`
render: bash render: bash
validations: validations:
required: true required: true

View File

@@ -7,7 +7,7 @@ jobs:
external-trigger-master: external-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler: external-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: '0' fetch-depth: '0'

View File

@@ -7,7 +7,7 @@ jobs:
package-trigger-master: package-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
- name: Package Trigger - name: Package Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler: package-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: '0' fetch-depth: '0'

View File

@@ -76,7 +76,7 @@ RUN \
php83-xmlreader \ php83-xmlreader \
php83-xsl \ php83-xsl \
whois && \ whois && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \ apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php83-pecl-mcrypt && \ php83-pecl-mcrypt && \
echo "**** install certbot plugins ****" && \ echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \ if [ -z ${CERTBOT_VERSION+x} ]; then \

View File

@@ -76,7 +76,7 @@ RUN \
php83-xmlreader \ php83-xmlreader \
php83-xsl \ php83-xsl \
whois && \ whois && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \ apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php83-pecl-mcrypt && \ php83-pecl-mcrypt && \
echo "**** install certbot plugins ****" && \ echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \ if [ -z ${CERTBOT_VERSION+x} ]; then \

297
Jenkinsfile vendored
View File

@@ -245,9 +245,11 @@ pipeline {
-v ${WORKSPACE}:/mnt \ -v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache py3-pip && \ apk add --no-cache python3 && \
pip install s3cmd && \ python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
pip install --no-cache-dir s3cmd && \
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :''' s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
} }
} }
@@ -262,150 +264,149 @@ pipeline {
} }
} }
steps { steps {
withCredentials([ sh '''#! /bin/bash
[ set -e
$class: 'UsernamePasswordMultiBinding', TEMPDIR=$(mktemp -d)
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', docker pull ghcr.io/linuxserver/jenkins-builder:latest
usernameVariable: 'DOCKERUSER', docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
passwordVariable: 'DOCKERPASS' # Stage 1 - Jenkinsfile update
] if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
]) { mkdir -p ${TEMPDIR}/repo
sh '''#! /bin/bash git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
set -e cd ${TEMPDIR}/repo/${LS_REPO}
TEMPDIR=$(mktemp -d) git checkout -f master
docker pull ghcr.io/linuxserver/jenkins-builder:latest cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest git add Jenkinsfile
# Stage 1 - Jenkinsfile update git commit -m 'Bot Updating Templated Files'
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
mkdir -p ${TEMPDIR}/repo git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
cd ${TEMPDIR}/repo/${LS_REPO} echo "Updating Jenkinsfile"
git checkout -f master rm -Rf ${TEMPDIR}
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ exit 0
git add Jenkinsfile else
git commit -m 'Bot Updating Templated Files' echo "Jenkinsfile is up to date."
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master # Stage 2 - Delete old templates
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} 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"
echo "Updating Jenkinsfile" for i in ${OLD_TEMPLATES}; do
rm -Rf ${TEMPDIR} if [[ -f "${i}" ]]; then
exit 0 TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
else
echo "Jenkinsfile is up to date."
fi fi
# Stage 2 - Delete old templates done
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" if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
for i in ${OLD_TEMPLATES}; do mkdir -p ${TEMPDIR}/repo
if [[ -f "${i}" ]]; then git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" cd ${TEMPDIR}/repo/${LS_REPO}
fi git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then git commit -m 'Bot Updating Templated Files'
mkdir -p ${TEMPDIR}/repo git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
cd ${TEMPDIR}/repo/${LS_REPO} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git checkout -f master echo "Deleting old and deprecated templates"
for i in ${TEMPLATES_TO_DELETE}; do rm -Rf ${TEMPDIR}
git rm "${i}" exit 0
done else
git commit -m 'Bot Updating Templated Files' echo "No templates to delete"
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master # Stage 3 - Update templates
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
echo "Deleting old and deprecated templates" cd ${TEMPDIR}/docker-${CONTAINER_NAME}
rm -Rf ${TEMPDIR} NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
exit 0 if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
else mkdir -p ${TEMPDIR}/repo
echo "No templates to delete" git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
fi cd ${TEMPDIR}/repo/${LS_REPO}
# Stage 3 - Update templates git checkout -f master
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
mkdir -p ${TEMPDIR}/repo cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}/
git checkout -f master if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
cd ${TEMPDIR}/docker-${CONTAINER_NAME} echo ".jenkins-external" >> .gitignore
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows git add .gitignore
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE fi
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : git add readme-vars.yml ${TEMPLATED_FILES}
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : git commit -m 'Bot Updating Templated Files'
cd ${TEMPDIR}/repo/${LS_REPO}/ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo ".jenkins-external" >> .gitignore echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git add .gitignore else
fi echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git add readme-vars.yml ${TEMPLATED_FILES} fi
git commit -m 'Bot Updating Templated Files' mkdir -p ${TEMPDIR}/docs
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master 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
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} 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} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \
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 else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} 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 fi
mkdir -p ${TEMPDIR}/docs git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \
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 (MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ sleep $((RANDOM % MAXWAIT)) && \
cd ${TEMPDIR}/docs/docker-documentation git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH})
git add docs/images/docker-${CONTAINER_NAME}.md fi
git commit -m 'Bot Updating Documentation' # Stage 4 - Sync Readme to Docker Hub
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
fi echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
mkdir -p ${TEMPDIR}/unraid DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
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 else
echo "Not the default Github branch. Skipping readme sync to Docker Hub." echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi fi
rm -Rf ${TEMPDIR}''' DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
script{ curl -s \
env.FILES_UPDATED = sh( -H "Authorization: JWT ${DH_TOKEN}" \
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', -H "Content-Type: application/json" \
returnStdout: true).trim() -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()
} }
} }
} }
@@ -703,12 +704,6 @@ pipeline {
} }
steps { steps {
withCredentials([ withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[ [
$class: 'UsernamePasswordMultiBinding', $class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot', credentialsId: 'Quay.io-Robot',
@@ -719,7 +714,7 @@ pipeline {
retry(5) { retry(5) {
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -750,12 +745,6 @@ pipeline {
} }
steps { steps {
withCredentials([ withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[ [
$class: 'UsernamePasswordMultiBinding', $class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot', credentialsId: 'Quay.io-Robot',
@@ -766,7 +755,7 @@ pipeline {
retry(5) { retry(5) {
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin

View File

@@ -1,346 +1,346 @@
NAME VERSION TYPE NAME VERSION TYPE
ConfigArgParse 1.7 python ConfigArgParse 1.7 python
PyJWT 2.8.0 python PyJWT 2.8.0 python
PyNamecheap 0.0.3 python PyNamecheap 0.0.3 python
PyYAML 6.0.1 python PyYAML 6.0.1 python
Simple Launcher 1.1.0.14 dotnet Simple Launcher 1.1.0.14 dotnet (+5 duplicates)
acme 2.8.0 python acme 2.9.0 python
alpine-baselayout 3.4.3-r2 apk alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r2 apk alpine-baselayout-data 3.4.3-r2 apk
alpine-keys 2.4-r1 apk alpine-keys 2.4-r1 apk
alpine-release 3.19.0-r0 apk alpine-release 3.19.1-r0 apk
aom-libs 3.7.1-r0 apk aom-libs 3.7.1-r0 apk
apache2-utils 2.4.58-r1 apk apache2-utils 2.4.58-r1 apk
apk-tools 2.14.0-r5 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-r5 apk argon2-libs 20190702-r5 apk
attrs 23.2.0 python attrs 23.2.0 python
azure-common 1.1.28 python azure-common 1.1.28 python
azure-core 1.29.7 python azure-core 1.30.1 python
azure-identity 1.15.0 python azure-identity 1.15.0 python
azure-mgmt-core 1.4.0 python azure-mgmt-core 1.4.0 python
azure-mgmt-dns 8.1.0 python azure-mgmt-dns 8.1.0 python
bash 5.2.21-r0 apk bash 5.2.21-r0 apk
beautifulsoup4 4.12.3 python beautifulsoup4 4.12.3 python
boto3 1.34.29 python boto3 1.34.55 python
botocore 1.34.29 python botocore 1.34.55 python
brotli-libs 1.1.0-r1 apk brotli-libs 1.1.0-r1 apk
bs4 0.0.2 python bs4 0.0.2 python
busybox 1.36.1-r15 apk busybox 1.36.1-r15 apk
busybox-binsh 1.36.1-r15 apk busybox-binsh 1.36.1-r15 apk
c-ares 1.24.0-r0 apk c-ares 1.24.0-r1 apk
c-client 2007f-r15 apk c-client 2007f-r15 apk
ca-certificates 20230506-r0 apk ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk
cachetools 5.3.2 python cachetools 5.3.3 python
certbot 2.8.0 python certbot 2.9.0 python
certbot-dns-acmedns 0.1.0 python certbot-dns-acmedns 0.1.0 python
certbot-dns-aliyun 2.0.0 python certbot-dns-aliyun 2.0.0 python
certbot-dns-azure 2.4.0 python certbot-dns-azure 2.4.0 python
certbot-dns-bunny 0.0.9 python certbot-dns-bunny 0.0.9 python
certbot-dns-cloudflare 2.8.0 python certbot-dns-cloudflare 2.9.0 python
certbot-dns-cpanel 0.4.0 python certbot-dns-cpanel 0.4.0 python
certbot-dns-desec 1.2.1 python certbot-dns-desec 1.2.1 python
certbot-dns-digitalocean 2.8.0 python certbot-dns-digitalocean 2.9.0 python
certbot-dns-directadmin 1.0.3 python certbot-dns-directadmin 1.0.4 python
certbot-dns-dnsimple 2.8.0 python certbot-dns-dnsimple 2.9.0 python
certbot-dns-dnsmadeeasy 2.8.0 python certbot-dns-dnsmadeeasy 2.9.0 python
certbot-dns-dnspod 0.1.0 python certbot-dns-dnspod 0.1.0 python
certbot-dns-do 0.31.0 python certbot-dns-do 0.31.0 python
certbot-dns-domeneshop 0.2.9 python certbot-dns-domeneshop 0.2.9 python
certbot-dns-dreamhost 1.0 python certbot-dns-dreamhost 1.0 python
certbot-dns-duckdns 1.3 python certbot-dns-duckdns 1.3 python
certbot-dns-freedns 0.1.0 python certbot-dns-freedns 0.1.0 python
certbot-dns-gehirn 2.8.0 python certbot-dns-gehirn 2.9.0 python
certbot-dns-glesys 2.1.0 python certbot-dns-glesys 2.1.0 python
certbot-dns-godaddy 2.8.0 python certbot-dns-godaddy 2.8.0 python
certbot-dns-google 2.8.0 python certbot-dns-google 2.9.0 python
certbot-dns-google-domains 0.1.11 python certbot-dns-google-domains 0.1.11 python
certbot-dns-he 1.0.0 python certbot-dns-he 1.0.0 python
certbot-dns-hetzner 2.0.0 python certbot-dns-hetzner 2.0.0 python
certbot-dns-infomaniak 0.2.2 python certbot-dns-infomaniak 0.2.2 python
certbot-dns-inwx 2.2.0 python certbot-dns-inwx 2.2.0 python
certbot-dns-ionos 2024.1.8 python certbot-dns-ionos 2024.1.8 python
certbot-dns-linode 2.8.0 python certbot-dns-linode 2.9.0 python
certbot-dns-loopia 1.0.1 python certbot-dns-loopia 1.0.1 python
certbot-dns-luadns 2.8.0 python certbot-dns-luadns 2.9.0 python
certbot-dns-namecheap 1.0.0 python certbot-dns-namecheap 1.0.0 python
certbot-dns-netcup 1.4.3 python certbot-dns-netcup 1.4.3 python
certbot-dns-njalla 1.0.0 python certbot-dns-njalla 1.0.0 python
certbot-dns-nsone 2.8.0 python certbot-dns-nsone 2.9.0 python
certbot-dns-ovh 2.8.0 python certbot-dns-ovh 2.9.0 python
certbot-dns-porkbun 0.8 python certbot-dns-porkbun 0.8 python
certbot-dns-rfc2136 2.8.0 python certbot-dns-rfc2136 2.9.0 python
certbot-dns-route53 2.8.0 python certbot-dns-route53 2.9.0 python
certbot-dns-sakuracloud 2.8.0 python certbot-dns-sakuracloud 2.9.0 python
certbot-dns-standalone 1.1 python certbot-dns-standalone 1.1 python
certbot-dns-transip 0.5.2 python certbot-dns-transip 0.5.2 python
certbot-dns-vultr 1.1.0 python certbot-dns-vultr 1.1.0 python
certbot-plugin-gandi 1.5.0 python certbot-plugin-gandi 1.5.0 python
certifi 2023.11.17 python certifi 2024.2.2 python
cffi 1.16.0 python cffi 1.16.0 python
charset-normalizer 3.3.2 python charset-normalizer 3.3.2 python
cloudflare 2.17.0 python cloudflare 2.19.2 python
composer 2.6.6 binary composer 2.7.1 binary
configobj 5.0.8 python configobj 5.0.8 python
coreutils 9.4-r1 apk coreutils 9.4-r2 apk
coreutils-env 9.4-r1 apk coreutils-env 9.4-r2 apk
coreutils-fmt 9.4-r1 apk coreutils-fmt 9.4-r2 apk
coreutils-sha512sum 9.4-r1 apk coreutils-sha512sum 9.4-r2 apk
cryptography 42.0.1 python cryptography 42.0.5 python
curl 8.5.0-r0 apk curl 8.5.0-r0 apk
dataclasses-json 0.5.14 python dataclasses-json 0.5.14 python
distro 1.9.0 python distro 1.9.0 python
dns-lexicon 3.17.0 python dns-lexicon 3.17.0 python
dnslib 0.9.24 python dnslib 0.9.24 python
dnspython 2.5.0 python dnspython 2.6.1 python
domeneshop 0.4.3 python domeneshop 0.4.3 python
fail2ban 1.0.2 python fail2ban 1.0.2 python
fail2ban 1.0.2-r3 apk fail2ban 1.0.2-r3 apk
fail2ban-pyc 1.0.2-r3 apk fail2ban-pyc 1.0.2-r3 apk
filelock 3.13.1 python filelock 3.13.1 python
fontconfig 2.14.2-r4 apk fontconfig 2.14.2-r4 apk
freetype 2.13.2-r0 apk freetype 2.13.2-r0 apk
future 0.18.3 python future 1.0.0 python
gdbm 1.23-r1 apk gdbm 1.23-r1 apk
git 2.43.0-r0 apk git 2.43.0-r0 apk
git-perl 2.43.0-r0 apk git-perl 2.43.0-r0 apk
gmp 6.3.0-r0 apk gmp 6.3.0-r0 apk
gnupg 2.4.4-r0 apk gnupg 2.4.4-r0 apk
gnupg-dirmngr 2.4.4-r0 apk gnupg-dirmngr 2.4.4-r0 apk
gnupg-gpgconf 2.4.4-r0 apk gnupg-gpgconf 2.4.4-r0 apk
gnupg-keyboxd 2.4.4-r0 apk gnupg-keyboxd 2.4.4-r0 apk
gnupg-utils 2.4.4-r0 apk gnupg-utils 2.4.4-r0 apk
gnupg-wks-client 2.4.4-r0 apk gnupg-wks-client 2.4.4-r0 apk
gnutls 3.8.3-r0 apk gnutls 3.8.3-r0 apk
google-api-core 2.15.0 python google-api-core 2.17.1 python
google-api-python-client 2.115.0 python google-api-python-client 2.120.0 python
google-auth 2.27.0 python google-auth 2.28.1 python
google-auth-httplib2 0.2.0 python google-auth-httplib2 0.2.0 python
googleapis-common-protos 1.62.0 python googleapis-common-protos 1.62.0 python
gpg 2.4.4-r0 apk gpg 2.4.4-r0 apk
gpg-agent 2.4.4-r0 apk gpg-agent 2.4.4-r0 apk
gpg-wks-server 2.4.4-r0 apk gpg-wks-server 2.4.4-r0 apk
gpgsm 2.4.4-r0 apk gpgsm 2.4.4-r0 apk
gpgv 2.4.4-r0 apk gpgv 2.4.4-r0 apk
hiredis 1.2.0-r0 apk hiredis 1.2.0-r0 apk
httplib2 0.22.0 python httplib2 0.22.0 python
icu-data-en 74.1-r0 apk icu-data-en 74.1-r0 apk
icu-libs 74.1-r0 apk icu-libs 74.1-r0 apk
idna 3.6 python idna 3.6 python
iptables 1.8.10-r3 apk iptables 1.8.10-r3 apk
isodate 0.6.1 python isodate 0.6.1 python
jmespath 1.0.1 python jmespath 1.0.1 python
josepy 1.14.0 python josepy 1.14.0 python
jq 1.7.1-r0 apk jq 1.7.1-r0 apk
jsonlines 4.0.0 python jsonlines 4.0.0 python
jsonpickle 3.0.2 python jsonpickle 3.0.3 python
libacl 2.3.1-r4 apk libacl 2.3.1-r4 apk
libassuan 2.5.6-r1 apk libassuan 2.5.6-r1 apk
libattr 2.5.1-r5 apk libattr 2.5.1-r5 apk
libavif 1.0.3-r0 apk libavif 1.0.3-r0 apk
libbsd 0.11.7-r3 apk libbsd 0.11.7-r3 apk
libbz2 1.0.8-r6 apk libbz2 1.0.8-r6 apk
libc-utils 0.7.2-r5 apk libc-utils 0.7.2-r5 apk
libcrypto3 3.1.4-r5 apk libcrypto3 3.1.4-r5 apk
libcurl 8.5.0-r0 apk libcurl 8.5.0-r0 apk
libdav1d 1.3.0-r0 apk libdav1d 1.3.0-r1 apk
libedit 20230828.3.1-r3 apk libedit 20230828.3.1-r3 apk
libevent 2.1.12-r7 apk libevent 2.1.12-r7 apk
libexpat 2.5.0-r2 apk libexpat 2.6.0-r0 apk
libffi 3.4.4-r3 apk libffi 3.4.4-r3 apk
libgcc 13.2.1_git20231014-r0 apk libgcc 13.2.1_git20231014-r0 apk
libgcrypt 1.10.3-r0 apk libgcrypt 1.10.3-r0 apk
libgd 2.3.3-r8 apk libgd 2.3.3-r8 apk
libgpg-error 1.47-r2 apk libgpg-error 1.47-r2 apk
libice 1.1.1-r5 apk libice 1.1.1-r5 apk
libidn2 2.3.4-r4 apk libidn2 2.3.4-r4 apk
libintl 0.22.3-r0 apk libintl 0.22.3-r0 apk
libjpeg-turbo 3.0.1-r0 apk libjpeg-turbo 3.0.1-r0 apk
libksba 1.6.5-r0 apk libksba 1.6.5-r0 apk
libldap 2.6.6-r1 apk libldap 2.6.6-r1 apk
libmaxminddb-libs 1.7.1-r2 apk libmaxminddb-libs 1.7.1-r2 apk
libmcrypt 2.5.8-r10 apk libmcrypt 2.5.8-r10 apk
libmd 1.1.0-r0 apk libmd 1.1.0-r0 apk
libmemcached-libs 1.1.4-r1 apk libmemcached-libs 1.1.4-r1 apk
libmnl 1.0.5-r2 apk libmnl 1.0.5-r2 apk
libncursesw 6.4_p20231125-r0 apk libncursesw 6.4_p20231125-r0 apk
libnftnl 1.2.6-r0 apk libnftnl 1.2.6-r0 apk
libpanelw 6.4_p20231125-r0 apk libpanelw 6.4_p20231125-r0 apk
libpng 1.6.40-r0 apk libpng 1.6.40-r0 apk
libpq 16.1-r0 apk libpq 16.2-r0 apk
libproc2 4.0.4-r0 apk libproc2 4.0.4-r0 apk
libsasl 2.1.28-r5 apk libsasl 2.1.28-r5 apk
libseccomp 2.5.5-r0 apk libseccomp 2.5.5-r0 apk
libsharpyuv 1.3.2-r0 apk libsharpyuv 1.3.2-r0 apk
libsm 1.2.4-r3 apk libsm 1.2.4-r3 apk
libsodium 1.0.19-r0 apk libsodium 1.0.19-r0 apk
libssl3 3.1.4-r5 apk libssl3 3.1.4-r5 apk
libstdc++ 13.2.1_git20231014-r0 apk libstdc++ 13.2.1_git20231014-r0 apk
libtasn1 4.19.0-r2 apk libtasn1 4.19.0-r2 apk
libunistring 1.1-r2 apk libunistring 1.1-r2 apk
libuuid 2.39.3-r0 apk libuuid 2.39.3-r0 apk
libwebp 1.3.2-r0 apk libwebp 1.3.2-r0 apk
libx11 1.8.7-r0 apk libx11 1.8.7-r0 apk
libxau 1.0.11-r3 apk libxau 1.0.11-r3 apk
libxcb 1.16-r0 apk libxcb 1.16-r0 apk
libxdmcp 1.1.4-r3 apk libxdmcp 1.1.4-r3 apk
libxext 1.3.5-r3 apk libxext 1.3.5-r3 apk
libxml2 2.11.6-r0 apk libxml2 2.11.7-r0 apk
libxpm 3.5.17-r0 apk libxpm 3.5.17-r0 apk
libxslt 1.1.39-r0 apk libxslt 1.1.39-r0 apk
libxt 1.3.0-r4 apk libxt 1.3.0-r4 apk
libxtables 1.8.10-r3 apk libxtables 1.8.10-r3 apk
libzip 1.10.1-r0 apk libzip 1.10.1-r0 apk
linux-pam 1.5.3-r7 apk linux-pam 1.5.3-r7 apk
logrotate 3.21.0-r1 apk logrotate 3.21.0-r1 apk
loopialib 0.2.0 python loopialib 0.2.0 python
lxml 5.1.0 python lxml 5.1.0 python
lz4-libs 1.9.4-r5 apk lz4-libs 1.9.4-r5 apk
marshmallow 3.20.2 python marshmallow 3.21.1 python
memcached 1.6.22-r0 apk memcached 1.6.22-r0 apk
mock 5.1.0 python mock 5.1.0 python
mpdecimal 2.5.1-r2 apk mpdecimal 2.5.1-r2 apk
msal 1.26.0 python msal 1.27.0 python
msal-extensions 1.1.0 python msal-extensions 1.1.0 python
musl 1.2.4_git20230717-r4 apk musl 1.2.4_git20230717-r4 apk
musl-utils 1.2.4_git20230717-r4 apk musl-utils 1.2.4_git20230717-r4 apk
mypy-extensions 1.0.0 python mypy-extensions 1.0.0 python
nano 7.2-r1 apk nano 7.2-r1 apk
ncurses-terminfo-base 6.4_p20231125-r0 apk ncurses-terminfo-base 6.4_p20231125-r0 apk
netcat-openbsd 1.226-r0 apk netcat-openbsd 1.226-r0 apk
nettle 3.9.1-r0 apk nettle 3.9.1-r0 apk
nghttp2-libs 1.58.0-r0 apk nghttp2-libs 1.58.0-r0 apk
nginx 1.24.0-r14 apk nginx 1.24.0-r15 apk
nginx-mod-devel-kit 1.24.0-r14 apk nginx-mod-devel-kit 1.24.0-r15 apk
nginx-mod-http-brotli 1.24.0-r14 apk nginx-mod-http-brotli 1.24.0-r15 apk
nginx-mod-http-dav-ext 1.24.0-r14 apk nginx-mod-http-dav-ext 1.24.0-r15 apk
nginx-mod-http-echo 1.24.0-r14 apk nginx-mod-http-echo 1.24.0-r15 apk
nginx-mod-http-fancyindex 1.24.0-r14 apk nginx-mod-http-fancyindex 1.24.0-r15 apk
nginx-mod-http-geoip2 1.24.0-r14 apk nginx-mod-http-geoip2 1.24.0-r15 apk
nginx-mod-http-headers-more 1.24.0-r14 apk nginx-mod-http-headers-more 1.24.0-r15 apk
nginx-mod-http-image-filter 1.24.0-r14 apk nginx-mod-http-image-filter 1.24.0-r15 apk
nginx-mod-http-perl 1.24.0-r14 apk nginx-mod-http-perl 1.24.0-r15 apk
nginx-mod-http-redis2 1.24.0-r14 apk nginx-mod-http-redis2 1.24.0-r15 apk
nginx-mod-http-set-misc 1.24.0-r14 apk nginx-mod-http-set-misc 1.24.0-r15 apk
nginx-mod-http-upload-progress 1.24.0-r14 apk nginx-mod-http-upload-progress 1.24.0-r15 apk
nginx-mod-http-xslt-filter 1.24.0-r14 apk nginx-mod-http-xslt-filter 1.24.0-r15 apk
nginx-mod-mail 1.24.0-r14 apk nginx-mod-mail 1.24.0-r15 apk
nginx-mod-rtmp 1.24.0-r14 apk nginx-mod-rtmp 1.24.0-r15 apk
nginx-mod-stream 1.24.0-r14 apk nginx-mod-stream 1.24.0-r15 apk
nginx-mod-stream-geoip2 1.24.0-r14 apk nginx-mod-stream-geoip2 1.24.0-r15 apk
nginx-vim 1.24.0-r14 apk nginx-vim 1.24.0-r15 apk
npth 1.6-r4 apk npth 1.6-r4 apk
oniguruma 6.9.9-r0 apk oniguruma 6.9.9-r0 apk
openssl 3.1.4-r5 apk openssl 3.1.4-r5 apk
p11-kit 0.25.3-r0 apk p11-kit 0.25.3-r0 apk
packaging 23.2 python packaging 23.2 python
parsedatetime 2.6 python parsedatetime 2.6 python
pcre 8.45-r3 apk pcre 8.45-r3 apk
pcre2 10.42-r2 apk pcre2 10.42-r2 apk
perl 5.38.2-r0 apk perl 5.38.2-r0 apk
perl-error 0.17029-r2 apk perl-error 0.17029-r2 apk
perl-git 2.43.0-r0 apk perl-git 2.43.0-r0 apk
php83 8.3.2-r0 apk php83 8.3.3-r0 apk
php83-bcmath 8.3.2-r0 apk php83-bcmath 8.3.3-r0 apk
php83-bz2 8.3.2-r0 apk php83-bz2 8.3.3-r0 apk
php83-common 8.3.2-r0 apk php83-common 8.3.3-r0 apk
php83-ctype 8.3.2-r0 apk php83-ctype 8.3.3-r0 apk
php83-curl 8.3.2-r0 apk php83-curl 8.3.3-r0 apk
php83-dom 8.3.2-r0 apk php83-dom 8.3.3-r0 apk
php83-exif 8.3.2-r0 apk php83-exif 8.3.3-r0 apk
php83-fileinfo 8.3.2-r0 apk php83-fileinfo 8.3.3-r0 apk
php83-fpm 8.3.2-r0 apk php83-fpm 8.3.3-r0 apk
php83-ftp 8.3.2-r0 apk php83-ftp 8.3.3-r0 apk
php83-gd 8.3.2-r0 apk php83-gd 8.3.3-r0 apk
php83-gmp 8.3.2-r0 apk php83-gmp 8.3.3-r0 apk
php83-iconv 8.3.2-r0 apk php83-iconv 8.3.3-r0 apk
php83-imap 8.3.2-r0 apk php83-imap 8.3.3-r0 apk
php83-intl 8.3.2-r0 apk php83-intl 8.3.3-r0 apk
php83-ldap 8.3.2-r0 apk php83-ldap 8.3.3-r0 apk
php83-mbstring 8.3.2-r0 apk php83-mbstring 8.3.3-r0 apk
php83-mysqli 8.3.2-r0 apk php83-mysqli 8.3.3-r0 apk
php83-mysqlnd 8.3.2-r0 apk php83-mysqlnd 8.3.3-r0 apk
php83-opcache 8.3.2-r0 apk php83-opcache 8.3.3-r0 apk
php83-openssl 8.3.2-r0 apk php83-openssl 8.3.3-r0 apk
php83-pdo 8.3.2-r0 apk php83-pdo 8.3.3-r0 apk
php83-pdo_mysql 8.3.2-r0 apk php83-pdo_mysql 8.3.3-r0 apk
php83-pdo_odbc 8.3.2-r0 apk php83-pdo_odbc 8.3.3-r0 apk
php83-pdo_pgsql 8.3.2-r0 apk php83-pdo_pgsql 8.3.3-r0 apk
php83-pdo_sqlite 8.3.2-r0 apk php83-pdo_sqlite 8.3.3-r0 apk
php83-pear 8.3.2-r0 apk php83-pear 8.3.3-r0 apk
php83-pecl-apcu 5.1.23-r0 apk php83-pecl-apcu 5.1.23-r0 apk
php83-pecl-igbinary 3.2.15-r0 apk php83-pecl-igbinary 3.2.15-r0 apk
php83-pecl-mcrypt 1.0.7-r0 apk php83-pecl-mcrypt 1.0.7-r0 apk
php83-pecl-memcached 3.2.0-r0 apk php83-pecl-memcached 3.2.0-r0 apk
php83-pecl-msgpack 2.2.0-r1 apk php83-pecl-msgpack 2.2.0-r1 apk
php83-pecl-redis 6.0.2-r0 apk php83-pecl-redis 6.0.2-r0 apk
php83-pgsql 8.3.2-r0 apk php83-pgsql 8.3.3-r0 apk
php83-phar 8.3.2-r0 apk php83-phar 8.3.3-r0 apk
php83-posix 8.3.2-r0 apk php83-posix 8.3.3-r0 apk
php83-session 8.3.2-r0 apk php83-session 8.3.3-r0 apk
php83-simplexml 8.3.2-r0 apk php83-simplexml 8.3.3-r0 apk
php83-soap 8.3.2-r0 apk php83-soap 8.3.3-r0 apk
php83-sockets 8.3.2-r0 apk php83-sockets 8.3.3-r0 apk
php83-sodium 8.3.2-r0 apk php83-sodium 8.3.3-r0 apk
php83-sqlite3 8.3.2-r0 apk php83-sqlite3 8.3.3-r0 apk
php83-tokenizer 8.3.2-r0 apk php83-tokenizer 8.3.3-r0 apk
php83-xml 8.3.2-r0 apk php83-xml 8.3.3-r0 apk
php83-xmlreader 8.3.2-r0 apk php83-xmlreader 8.3.3-r0 apk
php83-xmlwriter 8.3.2-r0 apk php83-xmlwriter 8.3.3-r0 apk
php83-xsl 8.3.2-r0 apk php83-xsl 8.3.3-r0 apk
php83-zip 8.3.2-r0 apk php83-zip 8.3.3-r0 apk
pinentry 1.2.1-r1 apk pinentry 1.2.1-r1 apk
pip 23.3.2 python pip 24.0 python
pkb-client 1.2 python pkb-client 1.2 python
popt 1.19-r3 apk popt 1.19-r3 apk
portalocker 2.8.2 python portalocker 2.8.2 python
procps-ng 4.0.4-r0 apk procps-ng 4.0.4-r0 apk
protobuf 4.25.2 python protobuf 4.25.3 python
publicsuffixlist 0.9.4 python publicsuffixlist 0.9.4 python
pyOpenSSL 24.0.0 python pyOpenSSL 24.0.0 python
pyRFC3339 1.1 python pyRFC3339 1.1 python
pyacmedns 0.4 python pyacmedns 0.4 python
pyasn1 0.5.1 python pyasn1 0.5.1 python
pyasn1-modules 0.3.0 python pyasn1-modules 0.3.0 python
pyc 3.11.6-r1 apk pyc 3.11.8-r0 apk
pycparser 2.21 python pycparser 2.21 python
pyotp 2.9.0 python pyotp 2.9.0 python
pyparsing 3.1.1 python pyparsing 3.1.1 python
python-dateutil 2.8.2 python python-dateutil 2.9.0.post0 python
python-digitalocean 1.17.0 python python-digitalocean 1.17.0 python
python-transip 0.6.0 python python-transip 0.6.0 python
python3 3.11.6-r1 apk python3 3.11.8-r0 apk
python3-pyc 3.11.6-r1 apk python3-pyc 3.11.8-r0 apk
python3-pycache-pyc0 3.11.6-r1 apk python3-pycache-pyc0 3.11.8-r0 apk
pytz 2023.3.post1 python pytz 2024.1 python
readline 8.2.1-r2 apk readline 8.2.1-r2 apk
requests 2.31.0 python requests 2.31.0 python
requests-file 1.5.1 python requests-file 2.0.0 python
requests-mock 1.11.0 python requests-mock 1.11.0 python
rsa 4.9 python rsa 4.9 python
s3transfer 0.10.0 python s3transfer 0.10.0 python
scanelf 1.3.7-r2 apk scanelf 1.3.7-r2 apk
setuptools 65.5.0 python setuptools 65.5.0 python
shadow 4.14.2-r0 apk shadow 4.14.2-r0 apk
six 1.16.0 python six 1.16.0 python
skalibs 2.14.0.1-r0 apk skalibs 2.14.0.1-r0 apk
soupsieve 2.5 python soupsieve 2.5 python
sqlite-libs 3.44.2-r0 apk sqlite-libs 3.44.2-r0 apk
ssl_client 1.36.1-r15 apk ssl_client 1.36.1-r15 apk
tiff 4.6.0-r0 apk tiff 4.6.0-r0 apk
tldextract 5.1.1 python tldextract 5.1.1 python
typing-inspect 0.9.0 python typing-inspect 0.9.0 python
typing_extensions 4.9.0 python typing_extensions 4.10.0 python
tzdata 2023d-r0 apk tzdata 2024a-r0 apk
unixodbc 2.3.12-r0 apk unixodbc 2.3.12-r0 apk
uritemplate 4.1.1 python uritemplate 4.1.1 python
urllib3 2.0.7 python urllib3 2.0.7 python
utmps-libs 0.1.2.2-r0 apk utmps-libs 0.1.2.2-r0 apk
wheel 0.42.0 python wheel 0.42.0 python
whois 5.5.20-r0 apk whois 5.5.20-r0 apk
xz-libs 5.4.5-r0 apk xz-libs 5.4.5-r0 apk
zlib 1.3.1-r0 apk zlib 1.3.1-r0 apk
zope.interface 6.1 python zope.interface 6.2 python
zstd-libs 1.5.5-r8 apk zstd-libs 1.5.5-r8 apk

View File

@@ -23,6 +23,13 @@ for i in "${SANED_VARS[@]}"; do
export echo "${i}"="$(echo "${!i}" | tr '[:upper:]' '[:lower:]')" export echo "${i}"="$(echo "${!i}" | tr '[:upper:]' '[:lower:]')"
done done
# Check for and install requested DNS plugins
if grep -q "universal-package-install" <<< "${DOCKER_MODS}" && grep -q "certbot-dns" <<< "${INSTALL_PIP_PACKAGES}"; then
echo "**** Installing requested dns plugins ****"
/etc/s6-overlay/s6-rc.d/init-mod-universal-package-install-add-package/run
/etc/s6-overlay/s6-rc.d/init-mods-package-install/run
fi
# check to make sure DNSPLUGIN is selected if dns validation is used # check to make sure DNSPLUGIN is selected if dns validation is used
CERTBOT_DNS_AUTHENTICATORS=$(certbot plugins --authenticators 2>/dev/null | sed -e 's/^Entry point: EntryPoint(name='\''cpanel'\''/Entry point: EntryPoint(name='\''dns-cpanel'\''/' -e '/EntryPoint(name='\''dns-/!d' -e 's/^Entry point: EntryPoint(name='\''dns-\([^ ]*\)'\'',/\1/' | sort) CERTBOT_DNS_AUTHENTICATORS=$(certbot plugins --authenticators 2>/dev/null | sed -e 's/^Entry point: EntryPoint(name='\''cpanel'\''/Entry point: EntryPoint(name='\''dns-cpanel'\''/' -e '/EntryPoint(name='\''dns-/!d' -e 's/^Entry point: EntryPoint(name='\''dns-\([^ ]*\)'\'',/\1/' | sort)
if [[ "${VALIDATION}" = "dns" ]] && ! echo "${CERTBOT_DNS_AUTHENTICATORS}" | grep -q "${DNSPLUGIN}"; then if [[ "${VALIDATION}" = "dns" ]] && ! echo "${CERTBOT_DNS_AUTHENTICATORS}" | grep -q "${DNSPLUGIN}"; then