Compare commits

..

20 Commits

Author SHA1 Message Date
LinuxServer-CI
b6a196b93a Bot Updating Package Versions 2024-03-06 16:22:38 +00:00
aptalca
3967276f06 Merge pull request #459 from linuxserver/stream
remove stream.conf
2024-03-06 11:18:47 -05:00
aptalca
4853736c4e add comment 2024-03-06 09:44:39 -05:00
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
aptalca
5d0ec79ac5 remove stream.conf 2024-03-04 17:56:25 -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
12 changed files with 510 additions and 508 deletions

View File

@@ -67,10 +67,10 @@ body:
- type: textarea
attributes:
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
placeholder: |
Output of `docker logs linuxserver.io`
Output of `docker logs swag`
render: bash
validations:
required: true

View File

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

View File

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

View File

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

View File

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

View File

@@ -76,7 +76,7 @@ RUN \
php83-xmlreader \
php83-xsl \
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 && \
echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \
@@ -144,6 +144,8 @@ RUN \
sed -i \
's|#ssl_trusted_certificate /config/keys/cert.crt;|ssl_trusted_certificate /config/keys/cert.crt;|' \
/defaults/nginx/ssl.conf.sample && \
echo "**** remove stream.conf ****" && \
rm -f /etc/nginx/conf.d/stream.conf && \
echo "**** correct ip6tables legacy issue ****" && \
rm \
/sbin/ip6tables && \

View File

@@ -76,7 +76,7 @@ RUN \
php83-xmlreader \
php83-xsl \
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 && \
echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \
@@ -144,6 +144,8 @@ RUN \
sed -i \
's|#ssl_trusted_certificate /config/keys/cert.crt;|ssl_trusted_certificate /config/keys/cert.crt;|' \
/defaults/nginx/ssl.conf.sample && \
echo "**** remove stream.conf ****" && \
rm -f /etc/nginx/conf.d/stream.conf && \
echo "**** correct ip6tables legacy issue ****" && \
rm \
/sbin/ip6tables && \

297
Jenkinsfile vendored
View File

@@ -245,9 +245,11 @@ pipeline {
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-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 "\
apk add --no-cache py3-pip && \
pip install s3cmd && \
ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache python3 && \
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" || :'''
}
}
@@ -262,150 +264,149 @@ pipeline {
}
}
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=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
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}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
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=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
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}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
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"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
# Stage 2 - Delete old templates
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"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
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 master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
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 master
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 master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
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)
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
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 master
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 master
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 master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
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 master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
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} --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
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
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} || :
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \
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 "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
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
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')
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()
}
}
}
@@ -703,12 +704,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -719,7 +714,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
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 $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -750,12 +745,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -766,7 +755,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
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 $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin

View File

@@ -400,6 +400,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **04.03.24:** - Remove `stream.conf` inside the container to allow users to include their own block in `nginx.conf`.
* **23.01.24:** - Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate.
* **01.01.24:** - Add GleSYS DNS plugin.
* **11.12.23:** - Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins.

View File

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

View File

@@ -168,6 +168,7 @@ app_setup_block: |
# changelog
changelogs:
- { date: "04.03.24:", desc: "Remove `stream.conf` inside the container to allow users to include their own block in `nginx.conf`." }
- { date: "23.01.24:", desc: "Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate." }
- { date: "01.01.24:", desc: "Add GleSYS DNS plugin." }
- { date: "11.12.23:", desc: "Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins." }

View File

@@ -23,6 +23,13 @@ for i in "${SANED_VARS[@]}"; do
export echo "${i}"="$(echo "${!i}" | tr '[:upper:]' '[:lower:]')"
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
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