Compare commits

...

58 commits

Author SHA1 Message Date
LinuxServer-CI
8353859972
Bot Updating Package Versions 2025-08-02 04:00:44 +00:00
LinuxServer-CI
ca399a7fa2
Bot Updating Package Versions 2025-07-26 04:01:49 +00:00
LinuxServer-CI
1905b3c920
Bot Updating Package Versions 2025-07-22 17:06:33 +00:00
LinuxServer-CI
c9efb531b0
Bot Updating Templated Files 2025-07-22 17:02:00 +00:00
Roxedus
26d05580ef
Merge pull request #576 from linuxserver/typo-fix 2025-07-22 18:59:55 +02:00
driz
a2a7292e39
fix typo 2025-07-22 11:43:45 -04:00
LinuxServer-CI
5316c58910
Bot Updating Package Versions 2025-07-20 15:09:08 +00:00
LinuxServer-CI
fa860e1349
Bot Updating Templated Files 2025-07-20 15:04:44 +00:00
LinuxServer-CI
72f60b132b
Bot Updating Templated Files 2025-07-20 15:03:11 +00:00
Adam
24cf84fd61
Merge pull request #573 from linuxserver/3.22 2025-07-20 16:01:37 +01:00
LinuxServer-CI
d4ceeb2f67
Bot Updating Package Versions 2025-07-19 03:56:42 +00:00
thespad
1282274a1a
Wording 2025-07-18 20:57:53 +01:00
thespad
b05df6cf2a
Add UDP buffer note 2025-07-18 20:57:01 +01:00
thespad
b96738cdf2
Add header note in readme 2025-07-18 20:32:49 +01:00
thespad
2d6a54a526
Comment out QUIC listeners and update readme 2025-07-18 20:26:10 +01:00
LinuxServer-CI
bb78c0f50e
Bot Updating Package Versions 2025-07-12 03:57:44 +00:00
thespad
56ff1d5e19
Rebase to 3.22 2025-07-09 18:46:39 +01:00
LinuxServer-CI
7f9835b43f
Bot Updating Package Versions 2025-07-05 03:53:44 +00:00
LinuxServer-CI
f3ac0dd394
Bot Updating Templated Files 2025-07-05 03:49:27 +00:00
LinuxServer-CI
0168126729
Bot Updating Templated Files 2025-07-05 03:48:01 +00:00
LinuxServer-CI
0e55f7b67e
Bot Updating Package Versions 2025-06-28 03:48:42 +00:00
LinuxServer-CI
b52e35e494
Bot Updating Package Versions 2025-06-21 03:48:40 +00:00
LinuxServer-CI
ef2a5f2077
Bot Updating Package Versions 2025-06-16 17:39:01 +00:00
Adam
0c910b9a7b
Merge pull request #570 from jlssmt/add-tinyauth 2025-06-16 18:34:21 +01:00
LinuxServer-CI
9ab0f727d0
Bot Updating Package Versions 2025-06-14 03:47:18 +00:00
LinuxServer-CI
adcdf5d748
Bot Updating Package Versions 2025-06-12 20:30:24 +00:00
LinuxServer-CI
7a38630c0b
Bot Updating Package Versions 2025-06-12 20:26:05 +00:00
LinuxServer-CI
6b6e7b74b5
Bot Updating Package Versions 2025-06-11 01:48:03 +00:00
LinuxServer-CI
3b6d0484b9
Bot Updating Templated Files 2025-06-11 01:43:55 +00:00
jlssmt
0d952bcee1 add tinyauth 2025-06-08 17:47:30 +02:00
LinuxServer-CI
35deb8f654
Bot Updating Package Versions 2025-06-07 03:47:21 +00:00
LinuxServer-CI
2ec9bacf0c
Bot Updating Package Versions 2025-05-31 03:44:37 +00:00
LinuxServer-CI
bcbad63147
Bot Updating Package Versions 2025-05-24 03:40:40 +00:00
LinuxServer-CI
962c2322eb
Bot Updating Package Versions 2025-05-17 03:43:00 +00:00
LinuxServer-CI
dd8fd8ad05
Bot Updating Templated Files 2025-05-17 03:39:19 +00:00
LinuxServer-CI
b818ae1f58
Bot Updating Package Versions 2025-05-10 03:39:03 +00:00
LinuxServer-CI
43466fe490
Bot Updating Package Versions 2025-05-08 21:11:05 +00:00
LinuxServer-CI
3781360d72
Bot Updating Templated Files 2025-05-08 21:05:17 +00:00
Eric Nemchik
a01e4aca17
Merge pull request #564 from linuxserver/max-log-backups 2025-05-08 16:03:57 -05:00
Eric Nemchik
b87c9d2886
Update readme-vars.yml 2025-05-05 15:25:41 -05:00
Eric Nemchik
08aa9cc07b
Disable Certbot's built in log rotation 2025-05-05 15:24:38 -05:00
LinuxServer-CI
23e05f1f7a
Bot Updating Package Versions 2025-05-03 03:40:16 +00:00
LinuxServer-CI
f80d14bf8c
Bot Updating Package Versions 2025-04-26 03:36:46 +00:00
LinuxServer-CI
7e7e22753c
Bot Updating Package Versions 2025-04-19 03:33:00 +00:00
LinuxServer-CI
9f76c031fe
Bot Updating Package Versions 2025-04-12 03:34:26 +00:00
LinuxServer-CI
2b2ccf9e9a
Bot Updating Package Versions 2025-04-11 03:24:16 +00:00
Eric Nemchik
54ed99d81a
Merge pull request #554 from linuxserver/remove-old-authelia
chore: ⚰️ remove authelia 4.37 and below comments
2025-04-10 22:18:39 -05:00
LinuxServer-CI
a3f72898ff
Bot Updating Package Versions 2025-04-08 01:29:27 +00:00
Eric Nemchik
8b8d33a81a
Merge branch 'master' into remove-old-authelia 2025-04-05 15:43:54 -05:00
LinuxServer-CI
82ba5dd791
Bot Updating Package Versions 2025-04-05 03:34:00 +00:00
LinuxServer-CI
e7c815c27f
Bot Updating Package Versions 2025-03-29 03:32:47 +00:00
Eric Nemchik
563ae7e9c5
chore: authentik/authelia consistency
Signed-off-by: GitHub <noreply@github.com>
2025-03-25 21:30:10 +00:00
Eric Nemchik
8caf2a1841
feat: 💩 proxy pass the full authelia auth request subpath
Signed-off-by: GitHub <noreply@github.com>
2025-03-25 21:28:54 +00:00
Eric Nemchik
15a3bc9d2c
chore: ⚰️ remove authelia 4.37 and below comments
Signed-off-by: GitHub <noreply@github.com>
2025-03-25 19:50:00 +00:00
LinuxServer-CI
1567416bfb
Bot Updating Package Versions 2025-03-22 03:34:48 +00:00
LinuxServer-CI
f909c85857
Bot Updating Package Versions 2025-03-17 13:53:02 +00:00
LinuxServer-CI
2992a09e32
Bot Updating Package Versions 2025-03-15 03:30:55 +00:00
LinuxServer-CI
5a8b8010ee
Bot Updating Package Versions 2025-03-11 17:20:25 +00:00
28 changed files with 566 additions and 488 deletions

0
.editorconfig Executable file → Normal file
View file

0
.github/FUNDING.yml vendored Executable file → Normal file
View file

0
.github/ISSUE_TEMPLATE/config.yml vendored Executable file → Normal file
View file

0
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Executable file → Normal file
View file

0
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Executable file → Normal file
View file

3
.github/workflows/call_issue_pr_tracker.yml vendored Executable file → Normal file
View file

@ -8,6 +8,9 @@ on:
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:

3
.github/workflows/call_issues_cron.yml vendored Executable file → Normal file
View file

@ -4,6 +4,9 @@ on:
- cron: '35 15 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:

View file

@ -3,6 +3,9 @@ name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-master:
runs-on: ubuntu-latest
@ -43,8 +46,8 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/swag"
tag="latest"
@ -100,8 +103,8 @@ jobs:
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-swag/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
@ -116,7 +119,7 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
@ -136,7 +139,7 @@ jobs:
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for swag tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
TRIGGER_REASON="A version change was detected for swag tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

View file

@ -5,6 +5,9 @@ on:
- cron: '2 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest

View file

@ -2,8 +2,14 @@ name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1

View file

@ -5,6 +5,9 @@ on:
- cron: '1 3 * * 6'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest

0
.github/workflows/permissions.yml vendored Executable file → Normal file
View file

1
.gitignore vendored
View file

@ -1 +1,2 @@
.idea
.jenkins-external

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.21
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22
# set version label
ARG BUILD_DATE
@ -49,37 +49,36 @@ RUN \
nginx-mod-stream \
nginx-mod-stream-geoip2 \
nginx-vim \
php83-bcmath \
php83-bz2 \
php83-dom \
php83-exif \
php83-ftp \
php83-gd \
php83-gmp \
php83-imap \
php83-intl \
php83-ldap \
php83-mysqli \
php83-mysqlnd \
php83-opcache \
php83-pdo_mysql \
php83-pdo_odbc \
php83-pdo_pgsql \
php83-pdo_sqlite \
php83-pear \
php83-pecl-apcu \
php83-pecl-mcrypt \
php83-pecl-memcached \
php83-pecl-redis \
php83-pgsql \
php83-posix \
php83-soap \
php83-sockets \
php83-sodium \
php83-sqlite3 \
php83-tokenizer \
php83-xmlreader \
php83-xsl \
php84-bcmath \
php84-bz2 \
php84-dom \
php84-exif \
php84-ftp \
php84-gd \
php84-gmp \
php84-imap \
php84-intl \
php84-ldap \
php84-mysqli \
php84-mysqlnd \
php84-opcache \
php84-pdo_mysql \
php84-pdo_odbc \
php84-pdo_pgsql \
php84-pdo_sqlite \
php84-pear \
php84-pecl-apcu \
php84-pecl-memcached \
php84-pecl-redis \
php84-pgsql \
php84-posix \
php84-soap \
php84-sockets \
php84-sodium \
php84-sqlite3 \
php84-tokenizer \
php84-xmlreader \
php84-xsl \
whois && \
echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \
@ -89,7 +88,7 @@ RUN \
pip install -U --no-cache-dir \
pip \
wheel && \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
certbot==${CERTBOT_VERSION} \
certbot-dns-acmedns \
certbot-dns-aliyun \

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.21
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.22
# set version label
ARG BUILD_DATE
@ -49,37 +49,36 @@ RUN \
nginx-mod-stream \
nginx-mod-stream-geoip2 \
nginx-vim \
php83-bcmath \
php83-bz2 \
php83-dom \
php83-exif \
php83-ftp \
php83-gd \
php83-gmp \
php83-imap \
php83-intl \
php83-ldap \
php83-mysqli \
php83-mysqlnd \
php83-opcache \
php83-pdo_mysql \
php83-pdo_odbc \
php83-pdo_pgsql \
php83-pdo_sqlite \
php83-pear \
php83-pecl-apcu \
php83-pecl-mcrypt \
php83-pecl-memcached \
php83-pecl-redis \
php83-pgsql \
php83-posix \
php83-soap \
php83-sockets \
php83-sodium \
php83-sqlite3 \
php83-tokenizer \
php83-xmlreader \
php83-xsl \
php84-bcmath \
php84-bz2 \
php84-dom \
php84-exif \
php84-ftp \
php84-gd \
php84-gmp \
php84-imap \
php84-intl \
php84-ldap \
php84-mysqli \
php84-mysqlnd \
php84-opcache \
php84-pdo_mysql \
php84-pdo_odbc \
php84-pdo_pgsql \
php84-pdo_sqlite \
php84-pear \
php84-pecl-apcu \
php84-pecl-memcached \
php84-pecl-redis \
php84-pgsql \
php84-posix \
php84-soap \
php84-sockets \
php84-sodium \
php84-sqlite3 \
php84-tokenizer \
php84-xmlreader \
php84-xsl \
whois && \
echo "**** install certbot plugins ****" && \
if [ -z ${CERTBOT_VERSION+x} ]; then \
@ -89,7 +88,7 @@ RUN \
pip install -U --no-cache-dir \
pip \
wheel && \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
certbot==${CERTBOT_VERSION} \
certbot-dns-acmedns \
certbot-dns-aliyun \

7
Jenkinsfile vendored
View file

@ -95,7 +95,11 @@ pipeline {
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./root/donate.txt'
if ( env.SYFT_IMAGE_TAG == null ) {
env.SYFT_IMAGE_TAG = 'latest'
}
}
echo "Using syft image tag ${SYFT_IMAGE_TAG}"
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{
@ -780,7 +784,7 @@ pipeline {
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:latest \
ghcr.io/anchore/syft:${SYFT_IMAGE_TAG} \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
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"
@ -890,6 +894,7 @@ pipeline {
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e NODE_NAME=\"${NODE_NAME}\" \
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
-t ghcr.io/linuxserver/ci:latest \
python3 test_build.py'''
}

0
LICENSE Executable file → Normal file
View file

View file

@ -5,7 +5,6 @@
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@ -22,7 +21,6 @@ Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
@ -54,7 +52,6 @@ The architectures supported by this image are:
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Application Setup
@ -145,6 +142,16 @@ This will *ask* Google et al not to index and list your site. Be careful with th
* Proxy sample files WILL be updated, however your renamed (enabled) proxy files will not.
* You can check the new sample and adjust your active config as needed.
### QUIC support
This image supports QUIC (also known as HTTP/3) but it must be explicitly enabled in each proxy conf, and the default conf, because if the listener is enabled and you don't expose 443/UDP, it can break connections with some browsers.
To enable QUIC, expose 443/UDP to your clients, then uncomment both QUIC listeners in all of your active proxy confs, as well as the default conf, and restart the container.
You should also uncomment the `Alt-Svc` header in your `ssl.conf` so that browsers are aware that you offer QUIC connectivity.
It is [recommended](https://quic-go.net/docs/quic/optimizations/#udp-buffer-sizes) to increase the UDP send/recieve buffer **on the host** by setting the `net.core.rmem_max` and `net.core.wmem_max` sysctls. Suggested values are 4-16Mb (4194304-16777216 bytes). For persistence between reboots use `/etc/sysctl.d/`.
### Migration from the old `linuxserver/letsencrypt` image
Please follow the instructions [on this blog post](https://www.linuxserver.io/blog/2020-08-21-introducing-swag#migrate).
@ -197,6 +204,7 @@ services:
ports:
- 443:443
- 80:80 #optional
- 443:443/udp #optional
restart: unless-stopped
```
@ -224,6 +232,7 @@ docker run -d \
-e SWAG_AUTORELOAD_WATCHLIST= `#optional` \
-p 443:443 \
-p 80:80 `#optional` \
-p 443:443/udp `#optional` \
-v /path/to/swag/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/swag:latest
@ -237,6 +246,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| :----: | --- |
| `-p 443:443` | HTTPS port |
| `-p 80` | HTTP port (required for HTTP validation and HTTP -> HTTPS redirect) |
| `-p 443/udp` | QUIC (HTTP/3) port. Must be enabled in the default and proxy confs. |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
@ -423,6 +433,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **18.07.25:** - Rebase to Alpine 3.22 with PHP 8.4. Add QUIC support. Drop PHP bindings for mcrypt as it is no longer maintained.
* **05.05.25:** - Disable Certbot's built in log rotation.
* **19.01.25:** - Add [Auto Reload](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload) functionality to SWAG.
* **17.12.24:** - Rebase to Alpine 3.21.
* **21.10.24:** - Fix naming issue with Dynu plugin. If you are using Dynu, please make sure your credentials are set in /config/dns-conf/dynu.ini and your DNSPLUGIN variable is set to dynu (not dynudns).

View file

@ -1,365 +1,373 @@
NAME VERSION TYPE
Simple Launcher 1.1.0.14 dotnet (+5 duplicates)
acl-libs 2.3.2-r1 apk
acme 3.2.0 python
alpine-baselayout 3.6.8-r1 apk
alpine-baselayout-data 3.6.8-r1 apk
alpine-keys 2.5-r0 apk
alpine-release 3.21.3-r0 apk
aom-libs 3.11.0-r0 apk
apache2-utils 2.4.62-r0 apk
apk-tools 2.14.6-r3 apk
apr 1.7.5-r0 apk
apr-util 1.6.3-r1 apk
argon2-libs 20190702-r5 apk
attrs 25.1.0 python
autocommand 2.2.2 python
azure-common 1.1.28 python
azure-core 1.32.0 python
azure-identity 1.20.0 python
azure-mgmt-core 1.5.0 python
azure-mgmt-dns 8.2.0 python
backports-tarfile 1.2.0 python
bash 5.2.37-r0 apk
beautifulsoup4 4.13.3 python
boto3 1.37.9 python
botocore 1.37.9 python
brotli-libs 1.1.0-r2 apk
bs4 0.0.2 python
busybox 1.37.0-r12 apk
busybox-binsh 1.37.0-r12 apk
c-ares 1.34.3-r0 apk
c-client 2007f-r15 apk
ca-certificates 20241121-r1 apk
ca-certificates-bundle 20241121-r1 apk
cachetools 5.5.2 python
catatonit 0.2.0-r0 apk
certbot 3.2.0 python
certbot-dns-acmedns 0.1.0 python
certbot-dns-aliyun 2.0.0 python
certbot-dns-azure 2.6.1 python
certbot-dns-bunny 3.0.0 python
certbot-dns-cloudflare 3.2.0 python
certbot-dns-cpanel 0.4.0 python
certbot-dns-desec 1.2.1 python
certbot-dns-digitalocean 3.2.0 python
certbot-dns-directadmin 1.0.13 python
certbot-dns-dnsimple 3.2.0 python
certbot-dns-dnsmadeeasy 3.2.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.5 python
certbot-dns-dynudns 0.0.6 python
certbot-dns-freedns 0.2.0 python
certbot-dns-gehirn 3.2.0 python
certbot-dns-glesys 2.1.0 python
certbot-dns-godaddy 2.8.0 python
certbot-dns-google 3.2.0 python
certbot-dns-he 1.0.0 python
certbot-dns-hetzner 2.0.1 python
certbot-dns-infomaniak 0.2.3 python
certbot-dns-inwx 3.0.2 python
certbot-dns-ionos 2024.11.9 python
certbot-dns-linode 3.2.0 python
certbot-dns-loopia 1.0.1 python
certbot-dns-luadns 3.2.0 python
certbot-dns-namecheap 1.0.0 python
certbot-dns-netcup 1.4.4 python
certbot-dns-njalla 2.0.2 python
certbot-dns-nsone 3.2.0 python
certbot-dns-ovh 3.2.0 python
certbot-dns-porkbun 0.9.1 python
certbot-dns-rfc2136 3.2.0 python
certbot-dns-route53 3.2.0 python
certbot-dns-sakuracloud 3.2.0 python
certbot-dns-standalone 1.2.1 python
certbot-dns-transip 0.5.2 python
certbot-dns-vultr 1.1.0 python
certbot-plugin-gandi 1.5.0 python
certifi 2025.1.31 python
cffi 1.17.1 python
charset-normalizer 3.4.1 python
cloudflare 2.19.4 python
composer 2.8.6 binary
configargparse 1.7 python
configobj 5.0.9 python
coreutils 9.5-r2 apk
coreutils-env 9.5-r2 apk
coreutils-fmt 9.5-r2 apk
coreutils-sha512sum 9.5-r2 apk
cryptography 44.0.2 python
curl 8.12.1-r0 apk
distro 1.9.0 python
dns-lexicon 3.20.1 python
dnslib 0.9.26 python
dnspython 2.7.0 python
domeneshop 0.4.4 python
fail2ban 1.1.0 python
fail2ban 1.1.0-r2 apk
fail2ban-pyc 1.1.0-r2 apk
filelock 3.17.0 python
findutils 4.10.0-r0 apk
fontconfig 2.15.0-r1 apk
freetype 2.13.3-r0 apk
future 1.0.0 python
gdbm 1.24-r0 apk
git 2.47.2-r0 apk
git-init-template 2.47.2-r0 apk
git-perl 2.47.2-r0 apk
gmp 6.3.0-r2 apk
gnupg 2.4.7-r0 apk
gnupg-dirmngr 2.4.7-r0 apk
gnupg-gpgconf 2.4.7-r0 apk
gnupg-keyboxd 2.4.7-r0 apk
gnupg-utils 2.4.7-r0 apk
gnupg-wks-client 2.4.7-r0 apk
gnutls 3.8.8-r0 apk
google-api-core 2.24.1 python
google-api-python-client 2.163.0 python
google-auth 2.38.0 python
google-auth-httplib2 0.2.0 python
googleapis-common-protos 1.69.1 python
gpg 2.4.7-r0 apk
gpg-agent 2.4.7-r0 apk
gpg-wks-server 2.4.7-r0 apk
gpgsm 2.4.7-r0 apk
gpgv 2.4.7-r0 apk
httplib2 0.22.0 python
icu-data-en 74.2-r0 apk
icu-libs 74.2-r0 apk
idna 3.10 python
importlib-metadata 8.0.0 python
inflect 7.3.1 python
inotify-tools 4.23.9.0-r0 apk
inotify-tools-libs 4.23.9.0-r0 apk
inwx-domrobot 3.2.0 python
iptables 1.8.11-r1 apk
iptables-legacy 1.8.11-r1 apk
isodate 0.7.2 python
jaraco-collections 5.1.0 python
jaraco-context 5.3.0 python
jaraco-functools 4.0.1 python
jaraco-text 3.12.1 python
jmespath 1.0.1 python
josepy 1.15.0 python
jq 1.7.1-r0 apk
jsonlines 4.0.0 python
jsonpickle 4.0.2 python
libassuan 2.5.7-r0 apk
libattr 2.5.2-r2 apk
libavif 1.0.4-r0 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.3.3-r0 apk
libcurl 8.12.1-r0 apk
libdav1d 1.5.0-r0 apk
libedit 20240808.3.1-r0 apk
libevent 2.1.12-r7 apk
libexpat 2.6.4-r0 apk
libffi 3.4.7-r0 apk
libgcc 14.2.0-r4 apk
libgcrypt 1.10.3-r1 apk
libgd 2.3.3-r9 apk
libgpg-error 1.51-r0 apk
libice 1.1.1-r6 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libip4tc 1.8.11-r1 apk
libip6tc 1.8.11-r1 apk
libjpeg-turbo 3.0.4-r0 apk
libksba 1.6.7-r0 apk
libldap 2.6.8-r0 apk
libmaxminddb-libs 1.9.1-r0 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.5_p20241006-r3 apk
libnftnl 1.2.8-r0 apk
libpanelw 6.5_p20241006-r3 apk
libpng 1.6.44-r0 apk
libpq 17.4-r0 apk
libproc2 4.0.4-r2 apk
libpsl 0.21.5-r3 apk
libsasl 2.1.28-r8 apk
libseccomp 2.5.5-r1 apk
libsharpyuv 1.4.0-r0 apk
libsm 1.2.4-r4 apk
libsodium 1.0.20-r0 apk
libssl3 3.3.3-r0 apk
libstdc++ 14.2.0-r4 apk
libtasn1 4.20.0-r0 apk
libunistring 1.2-r0 apk
libuuid 2.40.4-r0 apk
libwebp 1.4.0-r0 apk
libx11 1.8.10-r0 apk
libxau 1.0.11-r4 apk
libxcb 1.16.1-r0 apk
libxdmcp 1.1.5-r1 apk
libxext 1.3.6-r2 apk
libxml2 2.13.4-r4 apk
libxpm 3.5.17-r0 apk
libxslt 1.1.42-r1 apk
libxt 1.3.1-r0 apk
libxtables 1.8.11-r1 apk
libzip 1.11.2-r0 apk
linux-pam 1.6.1-r1 apk
logrotate 3.21.0-r1 apk
loopialib 0.2.0 python
lxml 5.3.1 python
lz4-libs 1.10.0-r0 apk
memcached 1.6.32-r0 apk
mock 5.2.0 python
more-itertools 10.3.0 python
mpdecimal 4.0.0-r0 apk
msal 1.31.1 python
msal-extensions 1.2.0 python
musl 1.2.5-r9 apk
musl-utils 1.2.5-r9 apk
my-test-package 1.0 python
nano 8.2-r0 apk
ncurses-terminfo-base 6.5_p20241006-r3 apk
netcat-openbsd 1.226.1.1-r0 apk
nettle 3.10-r1 apk
nghttp2-libs 1.64.0-r0 apk
nginx 1.26.2-r4 apk
nginx-mod-devel-kit 1.26.2-r4 apk
nginx-mod-http-brotli 1.26.2-r4 apk
nginx-mod-http-dav-ext 1.26.2-r4 apk
nginx-mod-http-echo 1.26.2-r4 apk
nginx-mod-http-fancyindex 1.26.2-r4 apk
nginx-mod-http-geoip2 1.26.2-r4 apk
nginx-mod-http-headers-more 1.26.2-r4 apk
nginx-mod-http-image-filter 1.26.2-r4 apk
nginx-mod-http-perl 1.26.2-r4 apk
nginx-mod-http-redis2 1.26.2-r4 apk
nginx-mod-http-set-misc 1.26.2-r4 apk
nginx-mod-http-upload-progress 1.26.2-r4 apk
nginx-mod-http-xslt-filter 1.26.2-r4 apk
nginx-mod-mail 1.26.2-r4 apk
nginx-mod-rtmp 1.26.2-r4 apk
nginx-mod-stream 1.26.2-r4 apk
nginx-mod-stream-geoip2 1.26.2-r4 apk
nginx-vim 1.26.2-r4 apk
npth 1.6-r4 apk
oniguruma 6.9.9-r0 apk
openssl 3.3.3-r0 apk
p11-kit 0.25.5-r2 apk
packaging 24.2 python
parsedatetime 2.6 python
pcre 8.45-r3 apk
pcre2 10.43-r0 apk
perl 5.40.1-r0 apk
perl-error 0.17029-r2 apk
perl-git 2.47.2-r0 apk
php83 8.3.17-r0 apk
php83-bcmath 8.3.17-r0 apk
php83-bz2 8.3.17-r0 apk
php83-common 8.3.17-r0 apk
php83-ctype 8.3.17-r0 apk
php83-curl 8.3.17-r0 apk
php83-dom 8.3.17-r0 apk
php83-exif 8.3.17-r0 apk
php83-fileinfo 8.3.17-r0 apk
php83-fpm 8.3.17-r0 apk
php83-ftp 8.3.17-r0 apk
php83-gd 8.3.17-r0 apk
php83-gmp 8.3.17-r0 apk
php83-iconv 8.3.17-r0 apk
php83-imap 8.3.17-r0 apk
php83-intl 8.3.17-r0 apk
php83-ldap 8.3.17-r0 apk
php83-mbstring 8.3.17-r0 apk
php83-mysqli 8.3.17-r0 apk
php83-mysqlnd 8.3.17-r0 apk
php83-opcache 8.3.17-r0 apk
php83-openssl 8.3.17-r0 apk
php83-pdo 8.3.17-r0 apk
php83-pdo_mysql 8.3.17-r0 apk
php83-pdo_odbc 8.3.17-r0 apk
php83-pdo_pgsql 8.3.17-r0 apk
php83-pdo_sqlite 8.3.17-r0 apk
php83-pear 8.3.17-r0 apk
php83-pecl-apcu 5.1.24-r0 apk
php83-pecl-igbinary 3.2.16-r0 apk
php83-pecl-mcrypt 1.0.7-r0 apk
php83-pecl-memcached 3.3.0-r0 apk
php83-pecl-msgpack 3.0.0-r0 apk
php83-pecl-redis 6.1.0-r0 apk
php83-pgsql 8.3.17-r0 apk
php83-phar 8.3.17-r0 apk
php83-posix 8.3.17-r0 apk
php83-session 8.3.17-r0 apk
php83-simplexml 8.3.17-r0 apk
php83-soap 8.3.17-r0 apk
php83-sockets 8.3.17-r0 apk
php83-sodium 8.3.17-r0 apk
php83-sqlite3 8.3.17-r0 apk
php83-tokenizer 8.3.17-r0 apk
php83-xml 8.3.17-r0 apk
php83-xmlreader 8.3.17-r0 apk
php83-xmlwriter 8.3.17-r0 apk
php83-xsl 8.3.17-r0 apk
php83-zip 8.3.17-r0 apk
pinentry 1.3.1-r0 apk
pip 25.0.1 python
pkb-client 2.0.0 python
platformdirs 4.2.2 python
popt 1.19-r4 apk
portalocker 2.10.1 python
procps-ng 4.0.4-r2 apk
proto-plus 1.26.0 python
protobuf 5.29.3 python
pyacmedns 0.4 python
pyasn1 0.6.1 python
pyasn1-modules 0.4.1 python
pyc 3.12.9-r0 apk
pycparser 2.22 python
pyjwt 2.10.1 python
pynamecheap 0.0.3 python
pyopenssl 25.0.0 python
pyotp 2.9.0 python
pyparsing 3.2.1 python
pyrfc3339 2.0.1 python
python-dateutil 2.9.0.post0 python
python-digitalocean 1.17.0 python
python-transip 0.6.0 python
python3 3.12.9-r0 apk
python3-pyc 3.12.9-r0 apk
python3-pycache-pyc0 3.12.9-r0 apk
pytz 2025.1 python
pyyaml 6.0.2 python
readline 8.2.13-r0 apk
requests 2.32.3 python
requests-file 2.1.0 python
requests-mock 1.12.1 python
rsa 4.9 python
s3transfer 0.11.4 python
scanelf 1.3.8-r1 apk
setuptools 75.8.2 python
shadow 4.16.0-r1 apk
six 1.17.0 python
skalibs-libs 2.14.3.0-r0 apk
soupsieve 2.6 python
sqlite-libs 3.48.0-r0 apk
ssl_client 1.37.0-r12 apk
tiff 4.7.0-r0 apk
tldextract 5.1.3 python
tomli 2.0.1 python
typeguard 4.3.0 python
typing-extensions 4.12.2 python (+1 duplicate)
tzdata 2025a-r0 apk
unixodbc 2.3.12-r0 apk
uritemplate 4.1.1 python
urllib3 2.3.0 python
utmps-libs 0.1.2.3-r2 apk
wheel 0.43.0 python
wheel 0.45.1 python
whois 5.5.23-r0 apk
xz-libs 5.6.3-r0 apk
zipp 3.19.2 python
zlib 1.3.1-r2 apk
zope-interface 7.2 python
zstd-libs 1.5.6-r2 apk
NAME VERSION TYPE
Simple Launcher 1.1.0.14 binary (+5 duplicates)
acl-libs 2.3.2-r1 apk
acme 4.1.1 python
alpine-baselayout 3.7.0-r0 apk
alpine-baselayout-data 3.7.0-r0 apk
alpine-keys 2.5-r0 apk
alpine-release 3.22.1-r0 apk
aom-libs 3.12.1-r0 apk
apache2-utils 2.4.65-r0 apk
apk-tools 2.14.9-r2 apk
apr 1.7.5-r0 apk
apr-util 1.6.3-r1 apk
argon2-libs 20190702-r5 apk
attrs 25.3.0 python
autocommand 2.2.2 python
azure-common 1.1.28 python
azure-core 1.35.0 python
azure-identity 1.23.1 python
azure-mgmt-core 1.6.0 python
azure-mgmt-dns 9.0.0 python
backports-tarfile 1.2.0 python
bash 5.2.37-r0 apk
beautifulsoup4 4.13.4 python
boto3 1.40.1 python
botocore 1.40.1 python
brotli-libs 1.1.0-r2 apk
bs4 0.0.2 python
busybox 1.37.0-r18 apk
busybox-binsh 1.37.0-r18 apk
c-ares 1.34.5-r0 apk
c-client 2007f-r15 apk
ca-certificates 20250619-r0 apk
ca-certificates-bundle 20250619-r0 apk
cachetools 5.5.2 python
catatonit 0.2.1-r0 apk
certbot 4.1.1 python
certbot-dns-acmedns 0.1.0 python
certbot-dns-aliyun 2.0.0 python
certbot-dns-azure 1.5.0 python
certbot-dns-bunny 3.0.0 python
certbot-dns-cloudflare 4.1.1 python
certbot-dns-cpanel 0.4.0 python
certbot-dns-desec 1.2.1 python
certbot-dns-digitalocean 4.1.1 python
certbot-dns-directadmin 1.0.15 python
certbot-dns-dnsimple 4.1.1 python
certbot-dns-dnsmadeeasy 4.1.1 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.6 python
certbot-dns-dynudns 0.0.6 python
certbot-dns-freedns 0.2.0 python
certbot-dns-gehirn 4.1.1 python
certbot-dns-glesys 2.1.0 python
certbot-dns-godaddy 2.8.0 python
certbot-dns-google 4.1.1 python
certbot-dns-he 1.0.0 python
certbot-dns-hetzner 2.0.1 python
certbot-dns-infomaniak 0.2.3 python
certbot-dns-inwx 3.0.3 python
certbot-dns-ionos 2024.11.9 python
certbot-dns-linode 4.1.1 python
certbot-dns-loopia 1.0.1 python
certbot-dns-luadns 4.1.1 python
certbot-dns-namecheap 1.0.0 python
certbot-dns-netcup 1.4.4 python
certbot-dns-njalla 2.0.2 python
certbot-dns-nsone 4.1.1 python
certbot-dns-ovh 4.1.1 python
certbot-dns-porkbun 0.10.1 python
certbot-dns-rfc2136 4.1.1 python
certbot-dns-route53 4.1.1 python
certbot-dns-sakuracloud 4.1.1 python
certbot-dns-standalone 1.2.1 python
certbot-dns-transip 0.5.2 python
certbot-dns-vultr 1.1.0 python
certbot-plugin-gandi 1.5.0 python
certifi 2025.7.14 python
cffi 1.17.1 python
charset-normalizer 3.4.2 python
cli UNKNOWN binary
cli-32 UNKNOWN binary
cli-64 UNKNOWN binary
cli-arm64 UNKNOWN binary
cloudflare 2.19.4 python
composer 2.8.10 binary
configargparse 1.7.1 python
configobj 5.0.9 python
coreutils 9.7-r1 apk
coreutils-env 9.7-r1 apk
coreutils-fmt 9.7-r1 apk
coreutils-sha512sum 9.7-r1 apk
cryptography 45.0.5 python
curl 8.14.1-r1 apk
distro 1.9.0 python
dns-lexicon 3.21.1 python
dnslib 0.9.26 python
dnspython 2.7.0 python
domeneshop 0.4.4 python
fail2ban 1.1.0 python
fail2ban 1.1.0-r3 apk
fail2ban-pyc 1.1.0-r3 apk
filelock 3.18.0 python
findutils 4.10.0-r0 apk
fontconfig 2.15.0-r3 apk
freetype 2.13.3-r0 apk
future 1.0.0 python
gdbm 1.24-r0 apk
git 2.49.1-r0 apk
git-init-template 2.49.1-r0 apk
git-perl 2.49.1-r0 apk
gmp 6.3.0-r3 apk
gnupg 2.4.7-r0 apk
gnupg-dirmngr 2.4.7-r0 apk
gnupg-gpgconf 2.4.7-r0 apk
gnupg-keyboxd 2.4.7-r0 apk
gnupg-utils 2.4.7-r0 apk
gnupg-wks-client 2.4.7-r0 apk
gnutls 3.8.8-r0 apk
google-api-core 2.25.1 python
google-api-python-client 2.177.0 python
google-auth 2.40.3 python
google-auth-httplib2 0.2.0 python
googleapis-common-protos 1.70.0 python
gpg 2.4.7-r0 apk
gpg-agent 2.4.7-r0 apk
gpg-wks-server 2.4.7-r0 apk
gpgsm 2.4.7-r0 apk
gpgv 2.4.7-r0 apk
gui UNKNOWN binary
gui-32 UNKNOWN binary
gui-64 UNKNOWN binary
gui-arm64 UNKNOWN binary
httplib2 0.22.0 python
icu-data-en 76.1-r1 apk
icu-libs 76.1-r1 apk
idna 3.10 python
importlib-metadata 8.0.0 python
inflect 7.3.1 python
inotify-tools 4.23.9.0-r0 apk
inotify-tools-libs 4.23.9.0-r0 apk
inwx-domrobot 3.2.0 python
iptables 1.8.11-r1 apk
iptables-legacy 1.8.11-r1 apk
isodate 0.7.2 python
jaraco-collections 5.1.0 python
jaraco-context 5.3.0 python
jaraco-functools 4.0.1 python
jaraco-text 3.12.1 python
jinja2 3.1.6 python
jmespath 1.0.1 python
josepy 2.1.0 python
jq 1.8.0-r0 apk
jsonlines 4.0.0 python
jsonpickle 4.1.1 python
libapk2 2.14.9-r2 apk
libassuan 2.5.7-r0 apk
libattr 2.5.2-r2 apk
libavif 1.3.0-r0 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.5.1-r0 apk
libcurl 8.14.1-r1 apk
libdav1d 1.5.1-r0 apk
libedit 20250104.3.1-r1 apk
libevent 2.1.12-r8 apk
libexpat 2.7.1-r0 apk
libffi 3.4.8-r0 apk
libgcc 14.2.0-r6 apk
libgcrypt 1.10.3-r1 apk
libgd 2.3.3-r10 apk
libgpg-error 1.55-r0 apk
libice 1.1.2-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.24.1-r0 apk
libip4tc 1.8.11-r1 apk
libip6tc 1.8.11-r1 apk
libjpeg-turbo 3.1.0-r0 apk
libksba 1.6.7-r0 apk
libldap 2.6.8-r0 apk
libmaxminddb-libs 1.9.1-r0 apk
libmd 1.1.0-r0 apk
libmemcached-libs 1.1.4-r1 apk
libmnl 1.0.5-r2 apk
libncursesw 6.5_p20250503-r0 apk
libnftnl 1.2.9-r0 apk
libpanelw 6.5_p20250503-r0 apk
libpng 1.6.47-r0 apk
libpq 17.5-r0 apk
libproc2 4.0.4-r3 apk
libpsl 0.21.5-r3 apk
libsasl 2.1.28-r8 apk
libseccomp 2.6.0-r0 apk
libsharpyuv 1.5.0-r0 apk
libsm 1.2.5-r0 apk
libsodium 1.0.20-r0 apk
libssl3 3.5.1-r0 apk
libstdc++ 14.2.0-r6 apk
libtasn1 4.20.0-r0 apk
libunistring 1.3-r0 apk
libuuid 2.41-r9 apk
libwebp 1.5.0-r0 apk
libx11 1.8.11-r0 apk
libxau 1.0.12-r0 apk
libxcb 1.17.0-r0 apk
libxdmcp 1.1.5-r1 apk
libxext 1.3.6-r2 apk
libxml2 2.13.8-r0 apk
libxpm 3.5.17-r0 apk
libxslt 1.1.43-r3 apk
libxt 1.3.1-r0 apk
libxtables 1.8.11-r1 apk
libyuv 0.0.1887.20251502-r1 apk
libzip 1.11.4-r0 apk
linux-pam 1.7.0-r4 apk
logrotate 3.21.0-r1 apk
loopialib 0.2.0 python
lxml 6.0.0 python
lz4-libs 1.10.0-r0 apk
markupsafe 3.0.2 python
memcached 1.6.32-r0 apk
mock 5.2.0 python
more-itertools 10.3.0 python
mpdecimal 4.0.1-r0 apk
msal 1.33.0 python
msal-extensions 1.3.1 python
musl 1.2.5-r10 apk
musl-utils 1.2.5-r10 apk
my-test-package 1.0 python
nano 8.4-r0 apk
ncurses-terminfo-base 6.5_p20250503-r0 apk
netcat-openbsd 1.229.1-r0 apk
nettle 3.10.1-r0 apk
nghttp2-libs 1.65.0-r0 apk
nginx 1.28.0-r3 apk
nginx-mod-devel-kit 1.28.0-r3 apk
nginx-mod-http-brotli 1.28.0-r3 apk
nginx-mod-http-dav-ext 1.28.0-r3 apk
nginx-mod-http-echo 1.28.0-r3 apk
nginx-mod-http-fancyindex 1.28.0-r3 apk
nginx-mod-http-geoip2 1.28.0-r3 apk
nginx-mod-http-headers-more 1.28.0-r3 apk
nginx-mod-http-image-filter 1.28.0-r3 apk
nginx-mod-http-perl 1.28.0-r3 apk
nginx-mod-http-redis2 1.28.0-r3 apk
nginx-mod-http-set-misc 1.28.0-r3 apk
nginx-mod-http-upload-progress 1.28.0-r3 apk
nginx-mod-http-xslt-filter 1.28.0-r3 apk
nginx-mod-mail 1.28.0-r3 apk
nginx-mod-rtmp 1.28.0-r3 apk
nginx-mod-stream 1.28.0-r3 apk
nginx-mod-stream-geoip2 1.28.0-r3 apk
nginx-vim 1.28.0-r3 apk
npth 1.8-r0 apk
oniguruma 6.9.10-r0 apk
openssl 3.5.1-r0 apk
p11-kit 0.25.5-r2 apk
packaging 24.2 python
parsedatetime 2.6 python
pcre2 10.43-r1 apk
perl 5.40.2-r0 apk
perl-error 0.17030-r0 apk
perl-git 2.49.1-r0 apk
php84 8.4.10-r0 apk
php84-bcmath 8.4.10-r0 apk
php84-bz2 8.4.10-r0 apk
php84-common 8.4.10-r0 apk
php84-ctype 8.4.10-r0 apk
php84-curl 8.4.10-r0 apk
php84-dom 8.4.10-r0 apk
php84-exif 8.4.10-r0 apk
php84-fileinfo 8.4.10-r0 apk
php84-fpm 8.4.10-r0 apk
php84-ftp 8.4.10-r0 apk
php84-gd 8.4.10-r0 apk
php84-gmp 8.4.10-r0 apk
php84-iconv 8.4.10-r0 apk
php84-intl 8.4.10-r0 apk
php84-ldap 8.4.10-r0 apk
php84-mbstring 8.4.10-r0 apk
php84-mysqli 8.4.10-r0 apk
php84-mysqlnd 8.4.10-r0 apk
php84-opcache 8.4.10-r0 apk
php84-openssl 8.4.10-r0 apk
php84-pdo 8.4.10-r0 apk
php84-pdo_mysql 8.4.10-r0 apk
php84-pdo_odbc 8.4.10-r0 apk
php84-pdo_pgsql 8.4.10-r0 apk
php84-pdo_sqlite 8.4.10-r0 apk
php84-pear 8.4.10-r0 apk
php84-pecl-apcu 5.1.24-r1 apk
php84-pecl-igbinary 3.2.16-r1 apk
php84-pecl-imap 1.0.3-r0 apk
php84-pecl-memcached 3.3.0-r0 apk
php84-pecl-msgpack 3.0.0-r0 apk
php84-pecl-redis 6.2.0-r0 apk
php84-pgsql 8.4.10-r0 apk
php84-phar 8.4.10-r0 apk
php84-posix 8.4.10-r0 apk
php84-session 8.4.10-r0 apk
php84-simplexml 8.4.10-r0 apk
php84-soap 8.4.10-r0 apk
php84-sockets 8.4.10-r0 apk
php84-sodium 8.4.10-r0 apk
php84-sqlite3 8.4.10-r0 apk
php84-tokenizer 8.4.10-r0 apk
php84-xml 8.4.10-r0 apk
php84-xmlreader 8.4.10-r0 apk
php84-xmlwriter 8.4.10-r0 apk
php84-xsl 8.4.10-r0 apk
php84-zip 8.4.10-r0 apk
pinentry 1.3.1-r0 apk
pip 25.2 python
pkb-client 2.2.0 python
platformdirs 4.2.2 python
popt 1.19-r4 apk
procps-ng 4.0.4-r3 apk
proto-plus 1.26.1 python
protobuf 6.31.1 python
pyacmedns 0.4 python
pyasn1 0.6.1 python
pyasn1-modules 0.4.2 python
pyc 3.12.11-r0 apk
pycparser 2.22 python
pyjwt 2.10.1 python
pynamecheap 0.0.3 python
pyopenssl 25.1.0 python
pyotp 2.9.0 python
pyparsing 3.2.3 python
pyrfc3339 2.0.1 python
python-dateutil 2.9.0.post0 python
python-digitalocean 1.17.0 python
python-transip 0.6.0 python
python3 3.12.11-r0 apk
python3-pyc 3.12.11-r0 apk
python3-pycache-pyc0 3.12.11-r0 apk
pytz 2025.2 python
pyyaml 6.0.2 python
readline 8.2.13-r1 apk
requests 2.32.4 python
requests-file 2.1.0 python
requests-mock 1.12.1 python
rsa 4.9.1 python
s3transfer 0.13.1 python
scanelf 1.3.8-r1 apk
setuptools 80.9.0 python
shadow 4.17.3-r0 apk
six 1.17.0 python
skalibs-libs 2.14.4.0-r0 apk
soupsieve 2.7 python
sqlite-libs 3.49.2-r1 apk
ssl_client 1.37.0-r18 apk
tiff 4.7.0-r0 apk
tldextract 5.3.0 python
tomli 2.0.1 python
typeguard 4.3.0 python
typing-extensions 4.12.2 python
typing-extensions 4.14.1 python
tzdata 2025b-r0 apk
unixodbc 2.3.12-r0 apk
uritemplate 4.2.0 python
urllib3 2.5.0 python
utmps-libs 0.1.3.1-r0 apk
wheel 0.45.1 python (+1 duplicate)
whois 5.6.3-r0 apk
xz-libs 5.8.1-r0 apk
zipp 3.19.2 python
zlib 1.3.1-r2 apk
zope-interface 7.2 python
zstd-libs 1.5.7-r0 apk

View file

@ -44,6 +44,7 @@ opt_param_env_vars:
opt_param_usage_include_ports: true
opt_param_ports:
- {external_port: "80", internal_port: "80", port_desc: "HTTP port (required for HTTP validation and HTTP -> HTTPS redirect)"}
- {external_port: "443", internal_port: "443/udp", port_desc: "QUIC (HTTP/3) port. Must be enabled in the default and proxy confs."}
readonly_supported: true
readonly_message: |
* `/tmp` must be mounted to tmpfs
@ -138,6 +139,16 @@ app_setup_block: |
* Proxy sample files WILL be updated, however your renamed (enabled) proxy files will not.
* You can check the new sample and adjust your active config as needed.
### QUIC support
This image supports QUIC (also known as HTTP/3) but it must be explicitly enabled in each proxy conf, and the default conf, because if the listener is enabled and you don't expose 443/UDP, it can break connections with some browsers.
To enable QUIC, expose 443/UDP to your clients, then uncomment both QUIC listeners in all of your active proxy confs, as well as the default conf, and restart the container.
You should also uncomment the `Alt-Svc` header in your `ssl.conf` so that browsers are aware that you offer QUIC connectivity.
It is [recommended](https://quic-go.net/docs/quic/optimizations/#udp-buffer-sizes) to increase the UDP send/recieve buffer **on the host** by setting the `net.core.rmem_max` and `net.core.wmem_max` sysctls. Suggested values are 4-16Mb (4194304-16777216 bytes). For persistence between reboots use `/etc/sysctl.d/`.
### Migration from the old `linuxserver/letsencrypt` image
Please follow the instructions [on this blog post](https://www.linuxserver.io/blog/2020-08-21-introducing-swag#migrate).
@ -164,6 +175,7 @@ init_diagram: |
init-outdated-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-swag-samples -> init-fail2ban-config
init-os-end -> init-folders
@ -175,6 +187,7 @@ init_diagram: |
init-samples -> init-nginx
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-renew -> init-outdated-config
init-keygen -> init-permissions
@ -200,11 +213,13 @@ init_diagram: |
svc-swag-auto-reload -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.21" <- "baseimage-alpine:3.21"
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
}
"swag:latest" <- Base Images
# changelog
changelogs:
- {date: "18.07.25:", desc: "Rebase to Alpine 3.22 with PHP 8.4. Add QUIC support. Drop PHP bindings for mcrypt as it is no longer maintained."}
- {date: "05.05.25:", desc: "Disable Certbot's built in log rotation."}
- {date: "19.01.25:", desc: "Add [Auto Reload](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload) functionality to SWAG."}
- {date: "17.12.24:", desc: "Rebase to Alpine 3.21."}
- {date: "21.10.24:", desc: "Fix naming issue with Dynu plugin. If you are using Dynu, please make sure your credentials are set in /config/dns-conf/dynu.ini and your DNSPLUGIN variable is set to dynu (not dynudns)."}

View file

@ -1,13 +1,8 @@
## Version 2024/03/14 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample
## Version 2025/03/25 - 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
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
# For authelia 4.37 and below, make sure that the authelia configuration.yml has 'path: "authelia"' defined
# For authelia 4.38 and above, make sure that the authelia configuration.yml has 'address: "tcp://:9091/authelia"' defined
## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource
## For authelia 4.37 and below, use the following line
# auth_request /authelia/api/verify;
## For authelia 4.38 and above, use the following line
auth_request /authelia/api/authz/auth-request;
## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal

View file

@ -1,44 +1,15 @@
## Version 2024/03/16 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample
## Version 2025/03/25 - 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
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
# For authelia 4.37 and below, make sure that the authelia configuration.yml has 'path: "authelia"' defined
# For authelia 4.38 and above, make sure that the authelia configuration.yml has 'address: "tcp://:9091/authelia"' defined
# location for authelia subfolder requests
location ^~ /authelia {
auth_request off; # requests to this subfolder must be accessible without authentication
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_authelia authelia;
proxy_pass http://$upstream_authelia:9091;
}
# location for authelia 4.37 and below auth requests
location = /authelia/api/verify {
internal;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_authelia authelia;
proxy_pass http://$upstream_authelia:9091;
## Include the Set-Cookie header if present
auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
}
# location for authelia 4.38 and above auth requests
# location for authelia auth requests
location = /authelia/api/authz/auth-request {
internal;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_authelia authelia;
proxy_pass http://$upstream_authelia:9091;
proxy_pass http://$upstream_authelia:9091/api/authz/auth-request;
## Include the Set-Cookie header if present
auth_request_set $set_cookie $upstream_http_set_cookie;
@ -62,11 +33,6 @@ location @authelia_proxy_signin {
## Translate the Location response header from the auth subrequest into a variable
auth_request_set $signin_url $upstream_http_location;
if ($signin_url = '') {
## Set the $signin_url variable
set $signin_url https://$http_host/authelia/?rd=$target_url;
}
## Redirect to login
return 302 $signin_url;
}

View file

@ -1,4 +1,4 @@
## Version 2023/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample
## Version 2025/03/25 - 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
# Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf
@ -19,7 +19,7 @@ location = /outpost.goauthentik.io/auth/nginx {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_authentik authentik-server;
proxy_pass http://$upstream_authentik:9000;
proxy_pass http://$upstream_authentik:9000/outpost.goauthentik.io/auth/nginx;
## Include the Set-Cookie header if present
auth_request_set $set_cookie $upstream_http_set_cookie;

View file

@ -1,4 +1,4 @@
## Version 2024/12/17 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample
## Version 2025/07/18 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample
# redirect all traffic to https
server {
@ -13,7 +13,9 @@ server {
# main server block
server {
listen 443 ssl default_server;
# listen 443 quic reuseport default_server;
listen [::]:443 ssl default_server;
# listen [::]:443 quic reuseport default_server;
server_name _;

View file

@ -0,0 +1,9 @@
## Version 2025/06/08 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/tinyauth-location.conf.sample
# Make sure that your tinyauth container is in the same user defined bridge network and is named tinyauth
# Rename /config/nginx/proxy-confs/tinyauth.subdomain.conf.sample to /config/nginx/proxy-confs/tinyauth.subdomain.conf
## Send a subrequest to tinyauth to verify if the user is authenticated and has permission to access the resource
auth_request /tinyauth;
## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal
error_page 401 = @tinyauth_login;

View file

@ -0,0 +1,35 @@
## Version 2025/06/08 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/tinyauth-server.conf.sample
# Make sure that your tinyauth container is in the same user defined bridge network and is named tinyauth
# Rename /config/nginx/proxy-confs/tinyauth.subdomain.conf.sample to /config/nginx/proxy-confs/tinyauth.subdomain.conf
# location for tinyauth auth requests
location /tinyauth {
internal;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_tinyauth tinyauth;
proxy_pass http://$upstream_tinyauth:3000/api/auth/nginx;
proxy_set_header x-forwarded-proto $scheme;
proxy_set_header x-forwarded-host $http_host;
proxy_set_header x-forwarded-uri $request_uri;
}
# virtual location for tinyauth 401 redirects
location @tinyauth_login {
internal;
## Set the $target_url variable based on the original request
set_escape_uri $target_url $scheme://$http_host$request_uri;
## Set the $signin_url variable
set $domain $host;
if ($host ~* "^[^.]+\.([^.]+\..+)$") {
set $domain $1;
}
set $signin_url https://tinyauth.$domain/login?redirect_uri=$target_url;
## Redirect to login
return 302 $signin_url;
}

View file

@ -59,6 +59,9 @@ grep -qF 'agree-tos' /config/etc/letsencrypt/cli.ini || echo 'agree-tos=true' >>
# Check for broken dns credentials value in cli.ini and remove
sed -i '/dns--credentials/d' /config/etc/letsencrypt/cli.ini
# Disable Certbot's built in log rotation
set_ini_value "max-log-backups" "0" /config/etc/letsencrypt/cli.ini
# copy dns default configs
cp -n /defaults/dns-conf/* /config/dns-conf/ 2> >(grep -v 'cp: not replacing')
lsiown -R abc:abc /config/dns-conf

View file

@ -22,6 +22,14 @@ if [[ ! -f /config/nginx/authentik-server.conf ]]; then
cp /defaults/nginx/authentik-server.conf.sample /config/nginx/authentik-server.conf
fi
# copy tinyauth config files if they don't exist
if [[ ! -f /config/nginx/tinyauth-location.conf ]]; then
cp /defaults/nginx/tinyauth-location.conf.sample /config/nginx/tinyauth-location.conf
fi
if [[ ! -f /config/nginx/tinyauth-server.conf ]]; then
cp /defaults/nginx/tinyauth-server.conf.sample /config/nginx/tinyauth-server.conf
fi
# copy old ldap config file to new location
if [[ -f /config/nginx/ldap.conf ]] && [[ ! -f /config/nginx/ldap-server.conf ]]; then
cp /config/nginx/ldap.conf /config/nginx/ldap-server.conf