Skip to content

Commit 20bbf04

Browse files
authored
Merge branch 'master' into master
2 parents e4a6e31 + 5b096a8 commit 20bbf04

File tree

10 files changed

+223
-244
lines changed

10 files changed

+223
-244
lines changed

.github/workflows/permissions.yml

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
- '**/run'
66
- '**/finish'
77
- '**/check'
8+
- 'root/migrations/*'
9+
810
jobs:
911
permission_check:
1012
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

Dockerfile

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.19
3+
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.20
44

55
# set version label
66
ARG BUILD_DATE
@@ -65,6 +65,7 @@ RUN \
6565
php83-pdo_sqlite \
6666
php83-pear \
6767
php83-pecl-apcu \
68+
php83-pecl-mcrypt \
6869
php83-pecl-memcached \
6970
php83-pecl-redis \
7071
php83-pgsql \
@@ -77,8 +78,6 @@ RUN \
7778
php83-xmlreader \
7879
php83-xsl \
7980
whois && \
80-
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
81-
php83-pecl-mcrypt && \
8281
echo "**** install certbot plugins ****" && \
8382
if [ -z ${CERTBOT_VERSION+x} ]; then \
8483
CERTBOT_VERSION=$(curl -sL https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \
@@ -87,7 +86,7 @@ RUN \
8786
pip install -U --no-cache-dir \
8887
pip \
8988
wheel && \
90-
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \
89+
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ \
9190
certbot==${CERTBOT_VERSION} \
9291
certbot-dns-acmedns \
9392
certbot-dns-aliyun \
@@ -111,7 +110,6 @@ RUN \
111110
certbot-dns-glesys \
112111
certbot-dns-godaddy \
113112
certbot-dns-google \
114-
certbot-dns-google-domains \
115113
certbot-dns-he \
116114
certbot-dns-hetzner \
117115
certbot-dns-infomaniak \
@@ -171,6 +169,7 @@ RUN \
171169
tar xf \
172170
/tmp/proxy-confs.tar.gz -C \
173171
/defaults/nginx/proxy-confs --strip-components=1 --exclude=linux*/.editorconfig --exclude=linux*/.gitattributes --exclude=linux*/.github --exclude=linux*/.gitignore --exclude=linux*/LICENSE && \
172+
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
174173
echo "**** cleanup ****" && \
175174
apk del --purge \
176175
build-dependencies && \

Dockerfile.aarch64

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.19
3+
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.20
44

55
# set version label
66
ARG BUILD_DATE
@@ -65,6 +65,7 @@ RUN \
6565
php83-pdo_sqlite \
6666
php83-pear \
6767
php83-pecl-apcu \
68+
php83-pecl-mcrypt \
6869
php83-pecl-memcached \
6970
php83-pecl-redis \
7071
php83-pgsql \
@@ -77,8 +78,6 @@ RUN \
7778
php83-xmlreader \
7879
php83-xsl \
7980
whois && \
80-
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
81-
php83-pecl-mcrypt && \
8281
echo "**** install certbot plugins ****" && \
8382
if [ -z ${CERTBOT_VERSION+x} ]; then \
8483
CERTBOT_VERSION=$(curl -sL https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \
@@ -87,7 +86,7 @@ RUN \
8786
pip install -U --no-cache-dir \
8887
pip \
8988
wheel && \
90-
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \
89+
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ \
9190
certbot==${CERTBOT_VERSION} \
9291
certbot-dns-acmedns \
9392
certbot-dns-aliyun \
@@ -111,7 +110,6 @@ RUN \
111110
certbot-dns-glesys \
112111
certbot-dns-godaddy \
113112
certbot-dns-google \
114-
certbot-dns-google-domains \
115113
certbot-dns-he \
116114
certbot-dns-hetzner \
117115
certbot-dns-infomaniak \
@@ -171,6 +169,7 @@ RUN \
171169
tar xf \
172170
/tmp/proxy-confs.tar.gz -C \
173171
/defaults/nginx/proxy-confs --strip-components=1 --exclude=linux*/.editorconfig --exclude=linux*/.gitattributes --exclude=linux*/.github --exclude=linux*/.gitignore --exclude=linux*/LICENSE && \
172+
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
174173
echo "**** cleanup ****" && \
175174
apk del --purge \
176175
build-dependencies && \

Jenkinsfile

+6-6
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ pipeline {
245245
-v ${WORKSPACE}:/mnt \
246246
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
247247
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
248-
ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
248+
ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
249249
apk add --no-cache python3 && \
250250
python3 -m venv /lsiopy && \
251251
pip install --no-cache-dir -U pip && \
@@ -352,7 +352,7 @@ pipeline {
352352
fi
353353
echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub"
354354
mkdir -p ${TEMPDIR}/docs
355-
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
355+
git clone --depth=1 https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
356356
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
357357
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
358358
cd ${TEMPDIR}/docs/docker-documentation
@@ -370,8 +370,8 @@ pipeline {
370370
echo "Docs update not needed, skipping"
371371
fi
372372
mkdir -p ${TEMPDIR}/unraid
373-
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
374-
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
373+
git clone --depth=1 https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
374+
git clone --depth=1 https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
375375
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
376376
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
377377
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
@@ -703,7 +703,7 @@ pipeline {
703703
set -e
704704
docker pull ghcr.io/linuxserver/ci:latest
705705
if [ "${MULTIARCH}" == "true" ]; then
706-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
706+
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
707707
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
708708
fi
709709
docker run --rm \
@@ -794,7 +794,7 @@ pipeline {
794794
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
795795
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
796796
if [ "${CI}" == "false" ]; then
797-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
797+
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
798798
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
799799
fi
800800
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ Containers are configured using parameters passed at runtime (such as those abov
227227
| `-e VALIDATION=http` | Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set). |
228228
| `-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) |
229229
| `-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. |
230-
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynudns`, `freedns`, `gandi`, `gehirn`, `glesys`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `namecheap`, `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`. |
230+
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynudns`, `freedns`, `gandi`, `gehirn`, `glesys`, `godaddy`, `google`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `namecheap`, `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`. |
231231
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
232232
| `-e EMAIL=` | Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). |
233233
| `-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` |
@@ -400,6 +400,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
400400

401401
## Versions
402402

403+
* **24.07.14:** - Rebase to Alpine 3.20. Remove deprecated Google Domains certbot plugin. Existing users should update their nginx confs to avoid http2 deprecation warnings.
403404
* **23.03.24:** - Fix perms on the generated `priv-fullchain-bundle.pem`.
404405
* **14.03.24:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-location.conf, authelia-server.conf - Update Authelia conf samples with support for 4.38.
405406
* **11.03.24:** - Restore support for DynuDNS using `certbot-dns-dynudns`.

jenkins-vars.yml

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ external_type: pip_version
66
release_type: stable
77
release_tag: latest
88
ls_branch: master
9-
build_armhf: false
109
repo_vars:
1110
- EXT_PIP = 'certbot'
1211
- BUILD_VERSION_ARG = 'CERTBOT_VERSION'

0 commit comments

Comments
 (0)