Compare commits
50 Commits
2.3.0-ls18
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73938cb4a1 | ||
|
|
1d6a30144b | ||
|
|
2e59ae36c1 | ||
|
|
e72e9f6ed0 | ||
|
|
91d449259f | ||
|
|
dd17b24158 | ||
|
|
17f70e4a31 | ||
|
|
6619c4e0cd | ||
|
|
a06bea000c | ||
|
|
62401a38e7 | ||
|
|
acef819cc1 | ||
|
|
74828b1e8d | ||
|
|
7e1758fde0 | ||
|
|
e2731a1227 | ||
|
|
0a919148ff | ||
|
|
6fcd80b175 | ||
|
|
c9359819b6 | ||
|
|
ce32306873 | ||
|
|
9ce4ec598d | ||
|
|
9488a4fa1d | ||
|
|
3105c07c72 | ||
|
|
286e74c027 | ||
|
|
b909214614 | ||
|
|
70c66c5495 | ||
|
|
430308342f | ||
|
|
97222fbb25 | ||
|
|
b00bf6caf2 | ||
|
|
7dac282621 | ||
|
|
0c1936f8ec | ||
|
|
e5bb6e4a9d | ||
|
|
951fafd0b9 | ||
|
|
8a1793ac6b | ||
|
|
6ac90997ca | ||
|
|
94d9ec6ef1 | ||
|
|
8ca0f24782 | ||
|
|
4899670c70 | ||
|
|
b7fba5e404 | ||
|
|
605b7b8ad7 | ||
|
|
3a70f75402 | ||
|
|
28df27df1f | ||
|
|
dd96c54279 | ||
|
|
1f42ec3bd5 | ||
|
|
f5c2f5a154 | ||
|
|
637d304123 | ||
|
|
9bc38ff91c | ||
|
|
07a02d4641 | ||
|
|
635990d3ff | ||
|
|
d85216d876 | ||
|
|
03f58b3f2c | ||
|
|
823c4e8ff6 |
12
.github/workflows/call_invalid_helper.yml
vendored
12
.github/workflows/call_invalid_helper.yml
vendored
@ -1,12 +0,0 @@
|
|||||||
name: Comment on invalid interaction
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types:
|
|
||||||
- labeled
|
|
||||||
jobs:
|
|
||||||
add-comment-on-invalid:
|
|
||||||
if: github.event.label.name == 'invalid'
|
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
|
|
||||||
secrets: inherit
|
|
||||||
14
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file
14
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
name: Issue & PR Tracker
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened,reopened,labeled,unlabeled]
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
manage-project:
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
|
||||||
|
secrets: inherit
|
||||||
13
.github/workflows/call_issues_cron.yml
vendored
Executable file
13
.github/workflows/call_issues_cron.yml
vendored
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
name: Mark stale issues and pull requests
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '35 15 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
|
||||||
|
secrets: inherit
|
||||||
@ -2,7 +2,7 @@ name: Package Trigger Scheduler
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '03 5 * * 4'
|
- cron: '1 3 * * 6'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
3
.github/workflows/permissions.yml
vendored
3
.github/workflows/permissions.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: Permission check
|
name: Permission check
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
paths:
|
paths:
|
||||||
- '**/run'
|
- '**/run'
|
||||||
- '**/finish'
|
- '**/finish'
|
||||||
|
- '**/check'
|
||||||
jobs:
|
jobs:
|
||||||
permission_check:
|
permission_check:
|
||||||
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
|
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
|
||||||
|
|||||||
23
.github/workflows/stale.yml
vendored
23
.github/workflows/stale.yml
vendored
@ -1,23 +0,0 @@
|
|||||||
name: Mark stale issues and pull requests
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "30 1 * * *"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
stale:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/stale@v6.0.1
|
|
||||||
with:
|
|
||||||
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
|
||||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
|
||||||
stale-issue-label: 'no-issue-activity'
|
|
||||||
stale-pr-label: 'no-pr-activity'
|
|
||||||
days-before-stale: 30
|
|
||||||
days-before-close: 365
|
|
||||||
exempt-issue-labels: 'awaiting-approval,work-in-progress'
|
|
||||||
exempt-pr-labels: 'awaiting-approval,work-in-progress'
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
@ -113,6 +113,7 @@ RUN \
|
|||||||
certbot-dns-gehirn \
|
certbot-dns-gehirn \
|
||||||
certbot-dns-godaddy \
|
certbot-dns-godaddy \
|
||||||
certbot-dns-google \
|
certbot-dns-google \
|
||||||
|
certbot-dns-google-domains \
|
||||||
certbot-dns-he \
|
certbot-dns-he \
|
||||||
certbot-dns-hetzner \
|
certbot-dns-hetzner \
|
||||||
certbot-dns-infomaniak \
|
certbot-dns-infomaniak \
|
||||||
@ -158,6 +159,8 @@ RUN \
|
|||||||
mkdir -p /defaults/fail2ban && \
|
mkdir -p /defaults/fail2ban && \
|
||||||
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
||||||
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
||||||
|
echo "**** define allowipv6 to silence warning ****" && \
|
||||||
|
sed -i 's/#allowipv6 = auto/allowipv6 = auto/g' /etc/fail2ban/fail2ban.conf && \
|
||||||
echo "**** copy proxy confs to /defaults ****" && \
|
echo "**** copy proxy confs to /defaults ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/defaults/nginx/proxy-confs && \
|
/defaults/nginx/proxy-confs && \
|
||||||
|
|||||||
@ -113,6 +113,7 @@ RUN \
|
|||||||
certbot-dns-gehirn \
|
certbot-dns-gehirn \
|
||||||
certbot-dns-godaddy \
|
certbot-dns-godaddy \
|
||||||
certbot-dns-google \
|
certbot-dns-google \
|
||||||
|
certbot-dns-google-domains \
|
||||||
certbot-dns-he \
|
certbot-dns-he \
|
||||||
certbot-dns-hetzner \
|
certbot-dns-hetzner \
|
||||||
certbot-dns-infomaniak \
|
certbot-dns-infomaniak \
|
||||||
@ -158,6 +159,8 @@ RUN \
|
|||||||
mkdir -p /defaults/fail2ban && \
|
mkdir -p /defaults/fail2ban && \
|
||||||
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
||||||
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
||||||
|
echo "**** define allowipv6 to silence warning ****" && \
|
||||||
|
sed -i 's/#allowipv6 = auto/allowipv6 = auto/g' /etc/fail2ban/fail2ban.conf && \
|
||||||
echo "**** copy proxy confs to /defaults ****" && \
|
echo "**** copy proxy confs to /defaults ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/defaults/nginx/proxy-confs && \
|
/defaults/nginx/proxy-confs && \
|
||||||
|
|||||||
@ -113,6 +113,7 @@ RUN \
|
|||||||
certbot-dns-gehirn \
|
certbot-dns-gehirn \
|
||||||
certbot-dns-godaddy \
|
certbot-dns-godaddy \
|
||||||
certbot-dns-google \
|
certbot-dns-google \
|
||||||
|
certbot-dns-google-domains \
|
||||||
certbot-dns-he \
|
certbot-dns-he \
|
||||||
certbot-dns-hetzner \
|
certbot-dns-hetzner \
|
||||||
certbot-dns-infomaniak \
|
certbot-dns-infomaniak \
|
||||||
@ -158,6 +159,8 @@ RUN \
|
|||||||
mkdir -p /defaults/fail2ban && \
|
mkdir -p /defaults/fail2ban && \
|
||||||
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/action.d /defaults/fail2ban/ && \
|
||||||
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
mv /etc/fail2ban/filter.d /defaults/fail2ban/ && \
|
||||||
|
echo "**** define allowipv6 to silence warning ****" && \
|
||||||
|
sed -i 's/#allowipv6 = auto/allowipv6 = auto/g' /etc/fail2ban/fail2ban.conf && \
|
||||||
echo "**** copy proxy confs to /defaults ****" && \
|
echo "**** copy proxy confs to /defaults ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/defaults/nginx/proxy-confs && \
|
/defaults/nginx/proxy-confs && \
|
||||||
|
|||||||
69
Jenkinsfile
vendored
69
Jenkinsfile
vendored
@ -57,7 +57,7 @@ pipeline {
|
|||||||
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/stale.yml ./.github/workflows/call_invalid_helper.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml ./root/donate.txt'
|
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 ./root/donate.txt'
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@ -230,17 +230,14 @@ pipeline {
|
|||||||
}
|
}
|
||||||
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
|
-v ${WORKSPACE}:/mnt \
|
||||||
-e FILE_NAME="shellcheck-result.xml" \
|
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
|
||||||
-e MIMETYPE="text/xml" \
|
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
|
||||||
-v ${WORKSPACE}:/mnt \
|
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
|
||||||
-e SECRET_KEY=\"${S3_SECRET}\" \
|
apk add --no-cache py3-pip && \
|
||||||
-e ACCESS_KEY=\"${S3_KEY}\" \
|
pip install s3cmd && \
|
||||||
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
|
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
|
||||||
python /upload.py'''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -277,7 +274,7 @@ pipeline {
|
|||||||
echo "Jenkinsfile is up to date."
|
echo "Jenkinsfile is up to date."
|
||||||
fi
|
fi
|
||||||
# Stage 2 - Delete old templates
|
# Stage 2 - Delete old templates
|
||||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md"
|
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"
|
||||||
for i in ${OLD_TEMPLATES}; do
|
for i in ${OLD_TEMPLATES}; do
|
||||||
if [[ -f "${i}" ]]; then
|
if [[ -f "${i}" ]]; then
|
||||||
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||||
@ -294,7 +291,7 @@ pipeline {
|
|||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Deleting old templates"
|
echo "Deleting old and deprecated templates"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
@ -442,7 +439,8 @@ pipeline {
|
|||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
||||||
@ -455,7 +453,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Swag\" \
|
--label \"org.opencontainers.image.title=Swag\" \
|
||||||
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
||||||
--no-cache --pull -t ${IMAGE}:${META_TAG} \
|
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -472,7 +470,8 @@ pipeline {
|
|||||||
stage('Build X86') {
|
stage('Build X86') {
|
||||||
steps {
|
steps {
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
||||||
@ -485,7 +484,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Swag\" \
|
--label \"org.opencontainers.image.title=Swag\" \
|
||||||
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
||||||
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
|
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -499,7 +498,8 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
||||||
@ -512,7 +512,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Swag\" \
|
--label \"org.opencontainers.image.title=Swag\" \
|
||||||
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
||||||
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
|
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
retry(5) {
|
retry(5) {
|
||||||
@ -533,7 +533,8 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-swag/packages\" \
|
||||||
@ -546,7 +547,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Swag\" \
|
--label \"org.opencontainers.image.title=Swag\" \
|
||||||
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
--label \"org.opencontainers.image.description=SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.\" \
|
||||||
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
retry(5) {
|
retry(5) {
|
||||||
@ -575,26 +576,12 @@ pipeline {
|
|||||||
else
|
else
|
||||||
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
|
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
|
||||||
fi
|
fi
|
||||||
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
touch ${TEMPDIR}/package_versions.txt
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm \
|
||||||
apk info -v > /tmp/package_versions.txt && \
|
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
-v ${TEMPDIR}:/tmp \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
ghcr.io/anchore/syft:latest \
|
||||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
|
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
|
||||||
elif [ "${DIST_IMAGE}" == "fedora" ]; then
|
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
rpm -qa > /tmp/package_versions.txt && \
|
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
|
||||||
elif [ "${DIST_IMAGE}" == "arch" ]; then
|
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
pacman -Q > /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
|
||||||
fi
|
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
|
|||||||
@ -215,7 +215,7 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e VALIDATION=http` | Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set). |
|
| `-e VALIDATION=http` | Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set). |
|
||||||
| `-e SUBDOMAINS=www,` | Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only) |
|
| `-e SUBDOMAINS=www,` | Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only) |
|
||||||
| `-e CERTPROVIDER=` | Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
|
| `-e CERTPROVIDER=` | Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
|
||||||
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
|
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
|
||||||
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
|
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
|
||||||
| `-e EMAIL=` | Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). |
|
| `-e EMAIL=` | Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). |
|
||||||
| `-e ONLY_SUBDOMAINS=false` | If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` |
|
| `-e ONLY_SUBDOMAINS=false` | If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` |
|
||||||
@ -336,6 +336,10 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **25.03.23:** - Fix renewal post hook.
|
||||||
|
* **10.03.23:** - Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0).
|
||||||
|
* **09.03.23:** - Add Google Domains DNS support, `google-domains`.
|
||||||
|
* **02.03.23:** - Set permissions on crontabs during init.
|
||||||
* **09.02.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs.
|
* **09.02.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs.
|
||||||
* **06.02.23:** - Add porkbun support back in.
|
* **06.02.23:** - Add porkbun support back in.
|
||||||
* **21.01.23:** - Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x.
|
* **21.01.23:** - Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x.
|
||||||
|
|||||||
@ -1,201 +1,340 @@
|
|||||||
alpine-baselayout-3.4.0-r0
|
NAME VERSION TYPE
|
||||||
alpine-baselayout-data-3.4.0-r0
|
ConfigArgParse 1.5.3 python
|
||||||
alpine-keys-2.4-r1
|
PyJWT 2.6.0 python
|
||||||
alpine-release-3.17.1-r0
|
PyYAML 6.0 python
|
||||||
aom-libs-3.5.0-r0
|
acme 2.5.0 python
|
||||||
apache2-utils-2.4.55-r0
|
alpine-baselayout 3.4.0-r0 apk
|
||||||
apk-tools-2.12.10-r1
|
alpine-baselayout-data 3.4.0-r0 apk
|
||||||
apr-1.7.2-r0
|
alpine-keys 2.4-r1 apk
|
||||||
apr-util-1.6.3-r0
|
alpine-release 3.17.3-r0 apk
|
||||||
argon2-libs-20190702-r2
|
aom-libs 3.5.0-r0 apk
|
||||||
bash-5.2.15-r0
|
apache2-utils 2.4.56-r0 apk
|
||||||
brotli-libs-1.0.9-r9
|
apk-tools 2.12.10-r1 apk
|
||||||
busybox-1.35.0-r29
|
apr 1.7.2-r0 apk
|
||||||
busybox-binsh-1.35.0-r29
|
apr-util 1.6.3-r0 apk
|
||||||
c-client-2007f-r14
|
argon2-libs 20190702-r2 apk
|
||||||
ca-certificates-20220614-r4
|
attrs 22.2.0 python
|
||||||
ca-certificates-bundle-20220614-r4
|
azure-common 1.1.28 python
|
||||||
coreutils-9.1-r0
|
azure-core 1.26.4 python
|
||||||
curl-7.87.0-r1
|
azure-identity 1.12.0 python
|
||||||
fail2ban-1.0.2-r0
|
azure-mgmt-core 1.4.0 python
|
||||||
fontconfig-2.14.1-r0
|
azure-mgmt-dns 8.0.0 python
|
||||||
freetype-2.12.1-r0
|
bash 5.2.15-r0 apk
|
||||||
gdbm-1.23-r0
|
beautifulsoup4 4.12.2 python
|
||||||
git-2.38.3-r1
|
boto3 1.26.109 python
|
||||||
gmp-6.2.1-r2
|
botocore 1.29.109 python
|
||||||
gnupg-2.2.40-r0
|
brotli-libs 1.0.9-r9 apk
|
||||||
gnupg-dirmngr-2.2.40-r0
|
bs4 0.0.1 python
|
||||||
gnupg-gpgconf-2.2.40-r0
|
busybox 1.35.0 binary
|
||||||
gnupg-utils-2.2.40-r0
|
busybox 1.35.0-r29 apk
|
||||||
gnupg-wks-client-2.2.40-r0
|
busybox-binsh 1.35.0-r29 apk
|
||||||
gnutls-3.7.8-r3
|
c-client 2007f-r14 apk
|
||||||
gpg-2.2.40-r0
|
ca-certificates 20220614-r4 apk
|
||||||
gpg-agent-2.2.40-r0
|
ca-certificates-bundle 20220614-r4 apk
|
||||||
gpg-wks-server-2.2.40-r0
|
cachetools 5.3.0 python
|
||||||
gpgsm-2.2.40-r0
|
certbot 2.5.0 python
|
||||||
gpgv-2.2.40-r0
|
certbot-dns-acmedns 0.1.0 python
|
||||||
icu-data-en-72.1-r1
|
certbot-dns-aliyun 2.0.0 python
|
||||||
icu-libs-72.1-r1
|
certbot-dns-azure 2.1.0 python
|
||||||
ip6tables-1.8.8-r2
|
certbot-dns-cloudflare 2.5.0 python
|
||||||
iptables-1.8.8-r2
|
certbot-dns-cpanel 0.4.0 python
|
||||||
jq-1.6-r2
|
certbot-dns-desec 1.2.1 python
|
||||||
libacl-2.3.1-r1
|
certbot-dns-digitalocean 2.5.0 python
|
||||||
libassuan-2.5.5-r1
|
certbot-dns-directadmin 1.0.3 python
|
||||||
libattr-2.5.1-r2
|
certbot-dns-dnsimple 2.5.0 python
|
||||||
libavif-0.11.1-r0
|
certbot-dns-dnsmadeeasy 2.5.0 python
|
||||||
libbsd-0.11.7-r0
|
certbot-dns-dnspod 0.1.0 python
|
||||||
libbz2-1.0.8-r4
|
certbot-dns-do 0.31.0 python
|
||||||
libc-utils-0.7.2-r3
|
certbot-dns-domeneshop 0.2.9 python
|
||||||
libcrypto3-3.0.8-r0
|
certbot-dns-duckdns 1.3 python
|
||||||
libcurl-7.87.0-r1
|
certbot-dns-dynu 0.0.4 python
|
||||||
libdav1d-1.0.0-r2
|
certbot-dns-gehirn 2.5.0 python
|
||||||
libedit-20221030.3.1-r0
|
certbot-dns-godaddy 0.2.2 python
|
||||||
libevent-2.1.12-r5
|
certbot-dns-google 2.5.0 python
|
||||||
libexpat-2.5.0-r0
|
certbot-dns-google-domains 0.1.9 python
|
||||||
libffi-3.4.4-r0
|
certbot-dns-he 1.0.0 python
|
||||||
libgcc-12.2.1_git20220924-r4
|
certbot-dns-hetzner 2.0.0 python
|
||||||
libgcrypt-1.10.1-r0
|
certbot-dns-infomaniak 0.2.1 python
|
||||||
libgd-2.3.3-r3
|
certbot-dns-inwx 2.2.0 python
|
||||||
libgpg-error-1.46-r1
|
certbot-dns-ionos 2022.11.24 python
|
||||||
libice-1.0.10-r1
|
certbot-dns-linode 2.5.0 python
|
||||||
libidn-1.41-r0
|
certbot-dns-loopia 1.0.1 python
|
||||||
libintl-0.21.1-r1
|
certbot-dns-luadns 2.5.0 python
|
||||||
libjpeg-turbo-2.1.4-r0
|
certbot-dns-netcup 1.2.0 python
|
||||||
libksba-1.6.3-r0
|
certbot-dns-njalla 1.0.0 python
|
||||||
libldap-2.6.3-r6
|
certbot-dns-nsone 2.5.0 python
|
||||||
libmaxminddb-libs-1.7.1-r0
|
certbot-dns-ovh 2.5.0 python
|
||||||
libmcrypt-2.5.8-r10
|
certbot-dns-porkbun 0.8 python
|
||||||
libmd-1.0.4-r0
|
certbot-dns-rfc2136 2.5.0 python
|
||||||
libmemcached-libs-1.0.18-r5
|
certbot-dns-route53 2.5.0 python
|
||||||
libmnl-1.0.5-r0
|
certbot-dns-sakuracloud 2.5.0 python
|
||||||
libnftnl-1.2.4-r0
|
certbot-dns-standalone 1.1 python
|
||||||
libpng-1.6.38-r0
|
certbot-dns-transip 0.5.2 python
|
||||||
libpq-15.2-r0
|
certbot-dns-vultr 1.0.3 python
|
||||||
libproc-3.3.17-r2
|
certbot-plugin-gandi 1.4.3 python
|
||||||
libsasl-2.1.28-r3
|
certifi 2022.12.7 python
|
||||||
libseccomp-2.5.4-r0
|
cffi 1.15.1 python
|
||||||
libsm-1.2.3-r1
|
charset-normalizer 3.1.0 python
|
||||||
libsodium-1.0.18-r2
|
cloudflare 2.11.1 python
|
||||||
libssl3-3.0.8-r0
|
configobj 5.0.8 python
|
||||||
libstdc++-12.2.1_git20220924-r4
|
coreutils 9.1-r0 apk
|
||||||
libtasn1-4.19.0-r0
|
cryptography 40.0.1 python
|
||||||
libunistring-1.1-r0
|
curl 7.88.1-r1 apk
|
||||||
libuuid-2.38.1-r1
|
dataclasses-json 0.5.7 python
|
||||||
libwebp-1.2.4-r1
|
distro 1.8.0 python
|
||||||
libx11-1.8.4-r0
|
dns-lexicon 3.11.7 python
|
||||||
libxau-1.0.10-r0
|
dnslib 0.9.23 python
|
||||||
libxcb-1.15-r0
|
dnspython 2.3.0 python
|
||||||
libxdmcp-1.1.4-r0
|
domeneshop 0.4.3 python
|
||||||
libxext-1.3.5-r0
|
fail2ban 1.0.2 python
|
||||||
libxml2-2.10.3-r1
|
fail2ban 1.0.2-r0 apk
|
||||||
libxpm-3.5.15-r0
|
filelock 3.11.0 python
|
||||||
libxslt-1.1.37-r0
|
fontconfig 2.14.1-r0 apk
|
||||||
libxt-1.2.1-r0
|
freetype 2.12.1-r0 apk
|
||||||
libzip-1.9.2-r2
|
future 0.18.3 python
|
||||||
linux-pam-1.5.2-r1
|
gdbm 1.23-r0 apk
|
||||||
logrotate-3.20.1-r3
|
git 2.38.4-r1 apk
|
||||||
lz4-libs-1.9.4-r1
|
git-perl 2.38.4-r1 apk
|
||||||
memcached-1.6.17-r0
|
gmp 6.2.1-r2 apk
|
||||||
mpdecimal-2.5.1-r1
|
gnupg 2.2.40-r0 apk
|
||||||
musl-1.2.3-r4
|
gnupg-dirmngr 2.2.40-r0 apk
|
||||||
musl-utils-1.2.3-r4
|
gnupg-gpgconf 2.2.40-r0 apk
|
||||||
nano-7.0-r0
|
gnupg-utils 2.2.40-r0 apk
|
||||||
ncurses-libs-6.3_p20221119-r0
|
gnupg-wks-client 2.2.40-r0 apk
|
||||||
ncurses-terminfo-base-6.3_p20221119-r0
|
gnutls 3.7.8-r3 apk
|
||||||
nettle-3.8.1-r0
|
google-api-core 2.11.0 python
|
||||||
nghttp2-libs-1.51.0-r0
|
google-api-python-client 2.84.0 python
|
||||||
nginx-1.22.1-r0
|
google-auth 2.17.2 python
|
||||||
nginx-mod-devel-kit-1.22.1-r0
|
google-auth-httplib2 0.1.0 python
|
||||||
nginx-mod-http-brotli-1.22.1-r0
|
googleapis-common-protos 1.59.0 python
|
||||||
nginx-mod-http-dav-ext-1.22.1-r0
|
gpg 2.2.40-r0 apk
|
||||||
nginx-mod-http-echo-1.22.1-r0
|
gpg-agent 2.2.40-r0 apk
|
||||||
nginx-mod-http-fancyindex-1.22.1-r0
|
gpg-wks-server 2.2.40-r0 apk
|
||||||
nginx-mod-http-geoip2-1.22.1-r0
|
gpgsm 2.2.40-r0 apk
|
||||||
nginx-mod-http-headers-more-1.22.1-r0
|
gpgv 2.2.40-r0 apk
|
||||||
nginx-mod-http-image-filter-1.22.1-r0
|
httplib2 0.22.0 python
|
||||||
nginx-mod-http-perl-1.22.1-r0
|
icu-data-en 72.1-r1 apk
|
||||||
nginx-mod-http-redis2-1.22.1-r0
|
icu-libs 72.1-r1 apk
|
||||||
nginx-mod-http-set-misc-1.22.1-r0
|
idna 3.4 python
|
||||||
nginx-mod-http-upload-progress-1.22.1-r0
|
importlib-metadata 6.2.0 python
|
||||||
nginx-mod-http-xslt-filter-1.22.1-r0
|
ip6tables 1.8.8-r2 apk
|
||||||
nginx-mod-mail-1.22.1-r0
|
iptables 1.8.8-r2 apk
|
||||||
nginx-mod-rtmp-1.22.1-r0
|
isodate 0.6.1 python
|
||||||
nginx-mod-stream-1.22.1-r0
|
jmespath 1.0.1 python
|
||||||
nginx-mod-stream-geoip2-1.22.1-r0
|
josepy 1.13.0 python
|
||||||
nginx-vim-1.22.1-r0
|
jq 1.6-r2 apk
|
||||||
npth-1.6-r2
|
jsonlines 3.1.0 python
|
||||||
oniguruma-6.9.8-r0
|
jsonpickle 3.0.1 python
|
||||||
openssl-3.0.8-r0
|
libacl 2.3.1-r1 apk
|
||||||
p11-kit-0.24.1-r1
|
libassuan 2.5.5-r1 apk
|
||||||
pcre-8.45-r2
|
libattr 2.5.1-r2 apk
|
||||||
pcre2-10.42-r0
|
libavif 0.11.1-r0 apk
|
||||||
perl-5.36.0-r0
|
libbsd 0.11.7-r0 apk
|
||||||
php81-8.1.15-r0
|
libbz2 1.0.8-r4 apk
|
||||||
php81-bcmath-8.1.15-r0
|
libc-utils 0.7.2-r3 apk
|
||||||
php81-bz2-8.1.15-r0
|
libcrypto3 3.0.8-r3 apk
|
||||||
php81-common-8.1.15-r0
|
libcurl 7.88.1-r1 apk
|
||||||
php81-ctype-8.1.15-r0
|
libdav1d 1.0.0-r2 apk
|
||||||
php81-curl-8.1.15-r0
|
libedit 20221030.3.1-r0 apk
|
||||||
php81-dom-8.1.15-r0
|
libevent 2.1.12-r5 apk
|
||||||
php81-exif-8.1.15-r0
|
libexpat 2.5.0-r0 apk
|
||||||
php81-fileinfo-8.1.15-r0
|
libffi 3.4.4-r0 apk
|
||||||
php81-fpm-8.1.15-r0
|
libgcc 12.2.1_git20220924-r4 apk
|
||||||
php81-ftp-8.1.15-r0
|
libgcrypt 1.10.1-r0 apk
|
||||||
php81-gd-8.1.15-r0
|
libgd 2.3.3-r3 apk
|
||||||
php81-gmp-8.1.15-r0
|
libgpg-error 1.46-r1 apk
|
||||||
php81-iconv-8.1.15-r0
|
libice 1.0.10-r1 apk
|
||||||
php81-imap-8.1.15-r0
|
libidn 1.41-r0 apk
|
||||||
php81-intl-8.1.15-r0
|
libintl 0.21.1-r1 apk
|
||||||
php81-ldap-8.1.15-r0
|
libjpeg-turbo 2.1.4-r0 apk
|
||||||
php81-mbstring-8.1.15-r0
|
libksba 1.6.3-r0 apk
|
||||||
php81-mysqli-8.1.15-r0
|
libldap 2.6.3-r6 apk
|
||||||
php81-mysqlnd-8.1.15-r0
|
libmaxminddb-libs 1.7.1-r0 apk
|
||||||
php81-opcache-8.1.15-r0
|
libmcrypt 2.5.8-r10 apk
|
||||||
php81-openssl-8.1.15-r0
|
libmd 1.0.4-r0 apk
|
||||||
php81-pdo-8.1.15-r0
|
libmemcached-libs 1.0.18-r5 apk
|
||||||
php81-pdo_mysql-8.1.15-r0
|
libmnl 1.0.5-r0 apk
|
||||||
php81-pdo_odbc-8.1.15-r0
|
libnftnl 1.2.4-r0 apk
|
||||||
php81-pdo_pgsql-8.1.15-r0
|
libpng 1.6.38-r0 apk
|
||||||
php81-pdo_sqlite-8.1.15-r0
|
libpq 15.2-r0 apk
|
||||||
php81-pear-8.1.15-r0
|
libproc 3.3.17-r2 apk
|
||||||
php81-pecl-apcu-5.1.22-r0
|
libsasl 2.1.28-r3 apk
|
||||||
php81-pecl-igbinary-3.2.12-r0
|
libseccomp 2.5.4-r0 apk
|
||||||
php81-pecl-mailparse-3.1.4-r0
|
libsm 1.2.3-r1 apk
|
||||||
php81-pecl-mcrypt-1.0.4-r0
|
libsodium 1.0.18-r2 apk
|
||||||
php81-pecl-memcached-3.2.0-r0
|
libssl3 3.0.8-r3 apk
|
||||||
php81-pecl-redis-5.3.7-r0
|
libstdc++ 12.2.1_git20220924-r4 apk
|
||||||
php81-pecl-xmlrpc-1.0.0_rc3-r0
|
libtasn1 4.19.0-r0 apk
|
||||||
php81-pgsql-8.1.15-r0
|
libunistring 1.1-r0 apk
|
||||||
php81-phar-8.1.15-r0
|
libuuid 2.38.1-r1 apk
|
||||||
php81-posix-8.1.15-r0
|
libwebp 1.2.4-r1 apk
|
||||||
php81-session-8.1.15-r0
|
libx11 1.8.4-r0 apk
|
||||||
php81-simplexml-8.1.15-r0
|
libxau 1.0.10-r0 apk
|
||||||
php81-soap-8.1.15-r0
|
libxcb 1.15-r0 apk
|
||||||
php81-sockets-8.1.15-r0
|
libxdmcp 1.1.4-r0 apk
|
||||||
php81-sodium-8.1.15-r0
|
libxext 1.3.5-r0 apk
|
||||||
php81-sqlite3-8.1.15-r0
|
libxml2 2.10.3-r1 apk
|
||||||
php81-tokenizer-8.1.15-r0
|
libxpm 3.5.15-r0 apk
|
||||||
php81-xml-8.1.15-r0
|
libxslt 1.1.37-r1 apk
|
||||||
php81-xmlreader-8.1.15-r0
|
libxt 1.2.1-r0 apk
|
||||||
php81-xmlwriter-8.1.15-r0
|
libzip 1.9.2-r2 apk
|
||||||
php81-xsl-8.1.15-r0
|
linux-pam 1.5.2-r1 apk
|
||||||
php81-zip-8.1.15-r0
|
logrotate 3.20.1-r3 apk
|
||||||
pinentry-1.2.1-r0
|
loopialib 0.2.0 python
|
||||||
popt-1.19-r0
|
lxml 4.9.2 python
|
||||||
procps-3.3.17-r2
|
lz4-libs 1.9.4-r1 apk
|
||||||
python3-3.10.10-r0
|
marshmallow 3.19.0 python
|
||||||
readline-8.2.0-r0
|
marshmallow-enum 1.5.1 python
|
||||||
scanelf-1.3.5-r1
|
memcached 1.6.17 binary
|
||||||
shadow-4.13-r0
|
memcached 1.6.17-r0 apk
|
||||||
skalibs-2.12.0.1-r0
|
mock 5.0.1 python
|
||||||
sqlite-libs-3.40.1-r0
|
mpdecimal 2.5.1-r1 apk
|
||||||
ssl_client-1.35.0-r29
|
msal 1.21.0 python
|
||||||
tiff-4.4.0-r1
|
msal-extensions 1.0.0 python
|
||||||
tzdata-2022f-r1
|
msrest 0.7.1 python
|
||||||
unixodbc-2.3.11-r0
|
musl 1.2.3-r4 apk
|
||||||
utmps-libs-0.1.2.0-r1
|
musl-utils 1.2.3-r4 apk
|
||||||
whois-5.5.14-r0
|
mypy-extensions 1.0.0 python
|
||||||
xz-5.2.9-r0
|
nano 7.0-r0 apk
|
||||||
xz-libs-5.2.9-r0
|
ncurses-libs 6.3_p20221119-r0 apk
|
||||||
zlib-1.2.13-r0
|
ncurses-terminfo-base 6.3_p20221119-r0 apk
|
||||||
zstd-libs-1.5.2-r9
|
netcat-openbsd 1.130-r4 apk
|
||||||
|
nettle 3.8.1-r0 apk
|
||||||
|
nghttp2-libs 1.51.0-r0 apk
|
||||||
|
nginx 1.22.1-r0 apk
|
||||||
|
nginx-mod-devel-kit 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-brotli 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-dav-ext 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-echo 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-fancyindex 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-geoip2 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-headers-more 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-image-filter 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-perl 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-redis2 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-set-misc 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-upload-progress 1.22.1-r0 apk
|
||||||
|
nginx-mod-http-xslt-filter 1.22.1-r0 apk
|
||||||
|
nginx-mod-mail 1.22.1-r0 apk
|
||||||
|
nginx-mod-rtmp 1.22.1-r0 apk
|
||||||
|
nginx-mod-stream 1.22.1-r0 apk
|
||||||
|
nginx-mod-stream-geoip2 1.22.1-r0 apk
|
||||||
|
nginx-vim 1.22.1-r0 apk
|
||||||
|
npth 1.6-r2 apk
|
||||||
|
oauth2client 4.1.3 python
|
||||||
|
oauthlib 3.2.2 python
|
||||||
|
oniguruma 6.9.8-r0 apk
|
||||||
|
openssl 3.0.8-r3 apk
|
||||||
|
p11-kit 0.24.1-r1 apk
|
||||||
|
packaging 23.0 python
|
||||||
|
parsedatetime 2.6 python
|
||||||
|
pcre 8.45-r2 apk
|
||||||
|
pcre2 10.42-r0 apk
|
||||||
|
perl 5.36.0-r0 apk
|
||||||
|
perl-error 0.17029-r1 apk
|
||||||
|
perl-git 2.38.4-r1 apk
|
||||||
|
php-cli 8.1.17 binary
|
||||||
|
php-fpm 8.1.17 binary
|
||||||
|
php81 8.1.17-r0 apk
|
||||||
|
php81-bcmath 8.1.17-r0 apk
|
||||||
|
php81-bz2 8.1.17-r0 apk
|
||||||
|
php81-common 8.1.17-r0 apk
|
||||||
|
php81-ctype 8.1.17-r0 apk
|
||||||
|
php81-curl 8.1.17-r0 apk
|
||||||
|
php81-dom 8.1.17-r0 apk
|
||||||
|
php81-exif 8.1.17-r0 apk
|
||||||
|
php81-fileinfo 8.1.17-r0 apk
|
||||||
|
php81-fpm 8.1.17-r0 apk
|
||||||
|
php81-ftp 8.1.17-r0 apk
|
||||||
|
php81-gd 8.1.17-r0 apk
|
||||||
|
php81-gmp 8.1.17-r0 apk
|
||||||
|
php81-iconv 8.1.17-r0 apk
|
||||||
|
php81-imap 8.1.17-r0 apk
|
||||||
|
php81-intl 8.1.17-r0 apk
|
||||||
|
php81-ldap 8.1.17-r0 apk
|
||||||
|
php81-mbstring 8.1.17-r0 apk
|
||||||
|
php81-mysqli 8.1.17-r0 apk
|
||||||
|
php81-mysqlnd 8.1.17-r0 apk
|
||||||
|
php81-opcache 8.1.17-r0 apk
|
||||||
|
php81-openssl 8.1.17-r0 apk
|
||||||
|
php81-pdo 8.1.17-r0 apk
|
||||||
|
php81-pdo_mysql 8.1.17-r0 apk
|
||||||
|
php81-pdo_odbc 8.1.17-r0 apk
|
||||||
|
php81-pdo_pgsql 8.1.17-r0 apk
|
||||||
|
php81-pdo_sqlite 8.1.17-r0 apk
|
||||||
|
php81-pear 8.1.17-r0 apk
|
||||||
|
php81-pecl-apcu 5.1.22-r0 apk
|
||||||
|
php81-pecl-igbinary 3.2.12-r0 apk
|
||||||
|
php81-pecl-mailparse 3.1.4-r0 apk
|
||||||
|
php81-pecl-mcrypt 1.0.6-r0 apk
|
||||||
|
php81-pecl-memcached 3.2.0-r0 apk
|
||||||
|
php81-pecl-redis 5.3.7-r0 apk
|
||||||
|
php81-pecl-xmlrpc 1.0.0_rc3-r0 apk
|
||||||
|
php81-pgsql 8.1.17-r0 apk
|
||||||
|
php81-phar 8.1.17-r0 apk
|
||||||
|
php81-posix 8.1.17-r0 apk
|
||||||
|
php81-session 8.1.17-r0 apk
|
||||||
|
php81-simplexml 8.1.17-r0 apk
|
||||||
|
php81-soap 8.1.17-r0 apk
|
||||||
|
php81-sockets 8.1.17-r0 apk
|
||||||
|
php81-sodium 8.1.17-r0 apk
|
||||||
|
php81-sqlite3 8.1.17-r0 apk
|
||||||
|
php81-tokenizer 8.1.17-r0 apk
|
||||||
|
php81-xml 8.1.17-r0 apk
|
||||||
|
php81-xmlreader 8.1.17-r0 apk
|
||||||
|
php81-xmlwriter 8.1.17-r0 apk
|
||||||
|
php81-xsl 8.1.17-r0 apk
|
||||||
|
php81-zip 8.1.17-r0 apk
|
||||||
|
pinentry 1.2.1-r0 apk
|
||||||
|
pip 23.0.1 python
|
||||||
|
pkb-client 1.2 python
|
||||||
|
popt 1.19-r0 apk
|
||||||
|
portalocker 2.7.0 python
|
||||||
|
procps 3.3.17-r2 apk
|
||||||
|
protobuf 4.22.1 python
|
||||||
|
publicsuffixlist 0.9.3 python
|
||||||
|
pyOpenSSL 23.1.1 python
|
||||||
|
pyRFC3339 1.1 python
|
||||||
|
pyacmedns 0.4 python
|
||||||
|
pyasn1 0.4.8 python
|
||||||
|
pyasn1-modules 0.2.8 python
|
||||||
|
pycparser 2.21 python
|
||||||
|
pyparsing 3.0.9 python
|
||||||
|
python 3.10.11 binary
|
||||||
|
python-dateutil 2.8.2 python
|
||||||
|
python-digitalocean 1.17.0 python
|
||||||
|
python-transip 0.6.0 python
|
||||||
|
python3 3.10.11-r0 apk
|
||||||
|
pytz 2023.3 python
|
||||||
|
readline 8.2.0-r0 apk
|
||||||
|
requests 2.28.2 python
|
||||||
|
requests-file 1.5.1 python
|
||||||
|
requests-mock 1.10.0 python
|
||||||
|
requests-oauthlib 1.3.1 python
|
||||||
|
rsa 4.9 python
|
||||||
|
s3transfer 0.6.0 python
|
||||||
|
scanelf 1.3.5-r1 apk
|
||||||
|
setuptools 65.5.0 python
|
||||||
|
shadow 4.13-r0 apk
|
||||||
|
six 1.16.0 python
|
||||||
|
skalibs 2.12.0.1-r0 apk
|
||||||
|
soupsieve 2.4 python
|
||||||
|
sqlite-libs 3.40.1-r0 apk
|
||||||
|
ssl_client 1.35.0-r29 apk
|
||||||
|
tiff 4.4.0-r3 apk
|
||||||
|
tldextract 3.4.0 python
|
||||||
|
typing-inspect 0.8.0 python
|
||||||
|
typing_extensions 4.5.0 python
|
||||||
|
tzdata 2023c-r0 apk
|
||||||
|
unixodbc 2.3.11-r0 apk
|
||||||
|
uritemplate 4.1.1 python
|
||||||
|
urllib3 1.26.15 python
|
||||||
|
utmps-libs 0.1.2.0-r1 apk
|
||||||
|
wheel 0.40.0 python
|
||||||
|
whois 5.5.14-r0 apk
|
||||||
|
xz 5.2.9-r0 apk
|
||||||
|
xz-libs 5.2.9-r0 apk
|
||||||
|
zipp 3.15.0 python
|
||||||
|
zlib 1.2.13-r0 apk
|
||||||
|
zope.interface 6.0 python
|
||||||
|
zstd-libs 1.5.5-r0 apk
|
||||||
|
|||||||
@ -51,7 +51,7 @@ opt_param_usage_include_env: true
|
|||||||
opt_param_env_vars:
|
opt_param_env_vars:
|
||||||
- { env_var: "SUBDOMAINS", env_value: "www,", desc: "Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only)" }
|
- { env_var: "SUBDOMAINS", env_value: "www,", desc: "Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only)" }
|
||||||
- { env_var: "CERTPROVIDER", env_value: "", desc: "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt." }
|
- { env_var: "CERTPROVIDER", env_value: "", desc: "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt." }
|
||||||
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
|
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
|
||||||
- { env_var: "PROPAGATION", env_value: "", desc: "Optionally override (in seconds) the default propagation time for the dns plugins." }
|
- { env_var: "PROPAGATION", env_value: "", desc: "Optionally override (in seconds) the default propagation time for the dns plugins." }
|
||||||
- { env_var: "EMAIL", env_value: "", desc: "Optional e-mail address used for cert expiration notifications (Required for ZeroSSL)." }
|
- { env_var: "EMAIL", env_value: "", desc: "Optional e-mail address used for cert expiration notifications (Required for ZeroSSL)." }
|
||||||
- { env_var: "ONLY_SUBDOMAINS", env_value: "false", desc: "If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true`" }
|
- { env_var: "ONLY_SUBDOMAINS", env_value: "false", desc: "If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true`" }
|
||||||
@ -154,6 +154,10 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "25.03.23:", desc: "Fix renewal post hook." }
|
||||||
|
- { date: "10.03.23:", desc: "Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0)." }
|
||||||
|
- { date: "09.03.23:", desc: "Add Google Domains DNS support, `google-domains`." }
|
||||||
|
- { date: "02.03.23:", desc: "Set permissions on crontabs during init." }
|
||||||
- { date: "09.02.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs." }
|
- { date: "09.02.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs." }
|
||||||
- { date: "06.02.23:", desc: "Add porkbun support back in." }
|
- { date: "06.02.23:", desc: "Add porkbun support back in." }
|
||||||
- { date: "21.01.23:", desc: "Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x." }
|
- { date: "21.01.23:", desc: "Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x." }
|
||||||
|
|||||||
4
root/defaults/dns-conf/google-domains.ini
Normal file
4
root/defaults/dns-conf/google-domains.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Instructions: https://github.com/aaomidi/certbot-dns-google-domains#credentials
|
||||||
|
# Replace with your value
|
||||||
|
dns_google_domains_access_token = abcdef
|
||||||
|
dns_google_domains_zone = example.com
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
# Recommended PROPAGATION value in environment for netcup is 900
|
||||||
|
|
||||||
dns_netcup_customer_id = 123456
|
dns_netcup_customer_id = 123456
|
||||||
dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567
|
dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567
|
||||||
dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123
|
dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-route53/certbot_dns_route53/__init__.py#L18
|
# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-route53/certbot_dns_route53/__init__.py#L18
|
||||||
# Replace with your values
|
# Replace with your values
|
||||||
[default]
|
[default]
|
||||||
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
|
; aws_access_key_id=AKIAIOSFODNN7EXAMPLE
|
||||||
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
; aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
. /config/.donoteditthisfile.conf
|
. /config/.donoteditthisfile.conf
|
||||||
|
|
||||||
if [[ ! "${ORIGVALIDATION}" = "dns" ]] && [[ ! "${ORIGVALIDATION}" = "duckdns" ]]; then
|
if [[ ! "${ORIGVALIDATION}" = "dns" ]] && [[ ! "${ORIGVALIDATION}" = "duckdns" ]]; then
|
||||||
if pgrep -f "s6-supervise nginx" >/dev/null; then
|
if pgrep -f "s6-supervise svc-nginx" >/dev/null; then
|
||||||
s6-svc -u /run/service/svc-nginx
|
s6-svc -u /run/service/svc-nginx
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample
|
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample
|
||||||
# Make sure that your authelia container is in the same user defined bridge network and is named authelia
|
# Make sure that your authelia container is in the same user defined bridge network and is named authelia
|
||||||
# Rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf
|
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
|
||||||
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined
|
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined
|
||||||
|
|
||||||
## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource.
|
## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample
|
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample
|
||||||
# Make sure that your authelia container is in the same user defined bridge network and is named authelia
|
# Make sure that your authelia container is in the same user defined bridge network and is named authelia
|
||||||
# Rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf
|
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
|
||||||
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined
|
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined
|
||||||
|
|
||||||
# location for authelia subfolder requests
|
# location for authelia subfolder requests
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-location.conf.sample
|
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-location.conf.sample
|
||||||
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
|
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
|
||||||
# Rename /config/nginx/proxy-confs/authentik.conf.sample to /config/nginx/proxy-confs/authentik.conf
|
# Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf
|
||||||
|
|
||||||
## Send a subrequest to Authentik to verify if the user is authenticated and has permission to access the resource.
|
## Send a subrequest to Authentik to verify if the user is authenticated and has permission to access the resource.
|
||||||
auth_request /outpost.goauthentik.io/auth/nginx;
|
auth_request /outpost.goauthentik.io/auth/nginx;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample
|
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample
|
||||||
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
|
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
|
||||||
# Rename /config/nginx/proxy-confs/authentik.conf.sample to /config/nginx/proxy-confs/authentik.conf
|
# Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf
|
||||||
|
|
||||||
# location for authentik subfolder requests
|
# location for authentik subfolder requests
|
||||||
location ^~ /outpost.goauthentik.io {
|
location ^~ /outpost.goauthentik.io {
|
||||||
|
|||||||
@ -24,7 +24,7 @@ for i in "${SANED_VARS[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# check to make sure DNSPLUGIN is selected if dns validation is used
|
# check to make sure DNSPLUGIN is selected if dns validation is used
|
||||||
if [[ "${VALIDATION}" = "dns" ]] && [[ ! "${DNSPLUGIN}" =~ ^(acmedns|aliyun|azure|cloudflare|cpanel|desec|digitalocean|directadmin|dnsimple|dnsmadeeasy|dnspod|do|domeneshop|duckdns|dynu|gandi|gehirn|godaddy|google|he|hetzner|infomaniak|inwx|ionos|linode|loopia|luadns|netcup|njalla|nsone|ovh|porkbun|rfc2136|route53|sakuracloud|standalone|transip|vultr)$ ]]; then
|
if [[ "${VALIDATION}" = "dns" ]] && [[ ! "${DNSPLUGIN}" =~ ^(acmedns|aliyun|azure|cloudflare|cpanel|desec|digitalocean|directadmin|dnsimple|dnsmadeeasy|dnspod|do|domeneshop|duckdns|dynu|gandi|gehirn|godaddy|google|google-domains|he|hetzner|infomaniak|inwx|ionos|linode|loopia|luadns|netcup|njalla|nsone|ovh|porkbun|rfc2136|route53|sakuracloud|standalone|transip|vultr)$ ]]; then
|
||||||
echo "Please set the DNSPLUGIN variable to a valid plugin name. See docker info for more details."
|
echo "Please set the DNSPLUGIN variable to a valid plugin name. See docker info for more details."
|
||||||
sleep infinity
|
sleep infinity
|
||||||
fi
|
fi
|
||||||
@ -41,6 +41,7 @@ lsiown -R abc:abc /config/etc/letsencrypt/renewal-hooks
|
|||||||
# replace nginx service location in renewal hooks
|
# replace nginx service location in renewal hooks
|
||||||
find /config/etc/letsencrypt/renewal-hooks/ -type f -exec sed -i 's|/run/service/nginx|/run/service/svc-nginx|g' {} \;
|
find /config/etc/letsencrypt/renewal-hooks/ -type f -exec sed -i 's|/run/service/nginx|/run/service/svc-nginx|g' {} \;
|
||||||
find /config/etc/letsencrypt/renewal-hooks/ -type f -exec sed -i 's|/var/run/s6/services/nginx|/run/service/svc-nginx|g' {} \;
|
find /config/etc/letsencrypt/renewal-hooks/ -type f -exec sed -i 's|/var/run/s6/services/nginx|/run/service/svc-nginx|g' {} \;
|
||||||
|
find /config/etc/letsencrypt/renewal-hooks/ -type f -exec sed -i 's|s6-supervise nginx|s6-supervise svc-nginx|g' {} \;
|
||||||
|
|
||||||
# create original config file if it doesn't exist, move non-hidden legacy file to hidden
|
# create original config file if it doesn't exist, move non-hidden legacy file to hidden
|
||||||
if [[ -f "/config/donoteditthisfile.conf" ]]; then
|
if [[ -f "/config/donoteditthisfile.conf" ]]; then
|
||||||
@ -140,6 +141,10 @@ else
|
|||||||
ln -s ../etc/letsencrypt/live/"${URL}" /config/keys/letsencrypt
|
ln -s ../etc/letsencrypt/live/"${URL}" /config/keys/letsencrypt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# cleanup unused csr and keys folders
|
||||||
|
rm -rf /etc/letsencrypt/csr
|
||||||
|
rm -rf /etc/letsencrypt/keys
|
||||||
|
|
||||||
# checking for changes in cert variables, revoking certs if necessary
|
# checking for changes in cert variables, revoking certs if necessary
|
||||||
if [[ ! "${URL}" = "${ORIGURL}" ]] ||
|
if [[ ! "${URL}" = "${ORIGURL}" ]] ||
|
||||||
[[ ! "${SUBDOMAINS}" = "${ORIGSUBDOMAINS}" ]] ||
|
[[ ! "${SUBDOMAINS}" = "${ORIGSUBDOMAINS}" ]] ||
|
||||||
@ -269,7 +274,7 @@ if [[ "${VALIDATION}" = "dns" ]]; then
|
|||||||
DNSCREDENTIALSPARAM=""
|
DNSCREDENTIALSPARAM=""
|
||||||
fi
|
fi
|
||||||
# plugins that don't support setting propagation
|
# plugins that don't support setting propagation
|
||||||
if [[ "${DNSPLUGIN}" =~ ^(azure|gandi|standalone)$ ]]; then
|
if [[ "${DNSPLUGIN}" =~ ^(azure|gandi|route53|standalone)$ ]]; then
|
||||||
if [[ -n "${PROPAGATION}" ]]; then echo "${DNSPLUGIN} dns plugin does not support setting propagation time"; fi
|
if [[ -n "${PROPAGATION}" ]]; then echo "${DNSPLUGIN} dns plugin does not support setting propagation time"; fi
|
||||||
PROPAGATIONPARAM=""
|
PROPAGATIONPARAM=""
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,30 +1,38 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
# if root crontabs do not exist in config
|
# make folders
|
||||||
# copy root crontab from system
|
mkdir -p \
|
||||||
if [[ ! -f /config/crontabs/root ]] && crontab -l -u root; then
|
/config/crontabs
|
||||||
crontab -l -u root >/config/crontabs/root
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if root crontabs still do not exist in config (were not copied from system)
|
## root
|
||||||
# copy root crontab from included defaults
|
# if crontabs do not exist in config
|
||||||
if [[ ! -f /config/crontabs/root ]]; then
|
if [[ ! -f /config/crontabs/root ]]; then
|
||||||
cp /etc/crontabs/root /config/crontabs/
|
# copy crontab from system
|
||||||
fi
|
if crontab -l -u root; then
|
||||||
|
crontab -l -u root >/config/crontabs/root
|
||||||
|
fi
|
||||||
|
|
||||||
# if abc crontabs do not exist in config
|
# if crontabs still do not exist in config (were not copied from system)
|
||||||
# copy abc crontab from system
|
# copy crontab from included defaults (using -n, do not overwrite an existing file)
|
||||||
if [[ ! -f /config/crontabs/abc ]] && crontab -l -u abc; then
|
cp -n /etc/crontabs/root /config/crontabs/
|
||||||
crontab -l -u abc >/config/crontabs/abc
|
|
||||||
fi
|
fi
|
||||||
|
# set permissions and import user crontabs
|
||||||
# if abc crontabs still do not exist in config (were not copied from system)
|
lsiown root:root /config/crontabs/root
|
||||||
# copy abc crontab from included defaults
|
|
||||||
if [[ ! -f /config/crontabs/abc ]]; then
|
|
||||||
cp /etc/crontabs/abc /config/crontabs/
|
|
||||||
fi
|
|
||||||
|
|
||||||
# import user crontabs
|
|
||||||
crontab -u root /config/crontabs/root
|
crontab -u root /config/crontabs/root
|
||||||
|
|
||||||
|
## abc
|
||||||
|
# if crontabs do not exist in config
|
||||||
|
if [[ ! -f /config/crontabs/abc ]]; then
|
||||||
|
# copy crontab from system
|
||||||
|
if crontab -l -u abc; then
|
||||||
|
crontab -l -u abc >/config/crontabs/abc
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if crontabs still do not exist in config (were not copied from system)
|
||||||
|
# copy crontab from included defaults (using -n, do not overwrite an existing file)
|
||||||
|
cp -n /etc/crontabs/abc /config/crontabs/
|
||||||
|
fi
|
||||||
|
# set permissions and import user crontabs
|
||||||
|
lsiown abc:abc /config/crontabs/abc
|
||||||
crontab -u abc /config/crontabs/abc
|
crontab -u abc /config/crontabs/abc
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user