diff --git a/Jenkinsfile b/Jenkinsfile index 1278654..6e4e691 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -280,7 +280,7 @@ pipeline { echo "Jenkinsfile is up to date." fi # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -316,12 +316,13 @@ pipeline { mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : + cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : cd ${TEMPDIR}/repo/${LS_REPO}/ if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then echo ".jenkins-external" >> .gitignore git add .gitignore fi - git add ${TEMPLATED_FILES} + git add readme-vars.yml ${TEMPLATED_FILES} git commit -m 'Bot Updating Templated Files' git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} diff --git a/README.md b/README.md index 6933657..8ecc5bb 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ The architectures supported by this image are: * For `dns` validation, make sure to enter your credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf` * Cloudflare provides free accounts for managing dns and is very easy to use with this image. Make sure that it is set up for "dns only" instead of "dns + proxy" * Google dns plugin is meant to be used with "Google Cloud DNS", a paid enterprise product, and not for "Google Domains DNS" - * DuckDNS only supoprts two types of DNS validated certificates (not both at the same time): + * DuckDNS only supports two types of DNS validated certificates (not both at the same time): 1. Certs that only cover your main subdomain (ie. `yoursubdomain.duckdns.org`, leave the `SUBDOMAINS` variable empty) 2. Certs that cover sub-subdomains of your main subdomain (ie. `*.yoursubdomain.duckdns.org`, set the `SUBDOMAINS` variable to `wildcard`) * `--cap-add=NET_ADMIN` is required for fail2ban to modify iptables diff --git a/package_versions.txt b/package_versions.txt index 8873fd1..270a789 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,33 +1,33 @@ NAME VERSION TYPE -ConfigArgParse 1.5.3 python +ConfigArgParse 1.5.5 python PyJWT 2.7.0 python PyYAML 6.0 python acme 2.6.0 python alpine-baselayout 3.4.3-r1 apk alpine-baselayout-data 3.4.3-r1 apk alpine-keys 2.4-r1 apk -alpine-release 3.18.0-r0 apk +alpine-release 3.18.2-r0 apk aom-libs 3.6.1-r0 apk -apache2-utils 2.4.57-r2 apk +apache2-utils 2.4.57-r3 apk apk-tools 2.14.0-r2 apk apr 1.7.4-r0 apk apr-util 1.6.3-r1 apk argon2-libs 20190702-r4 apk attrs 23.1.0 python azure-common 1.1.28 python -azure-core 1.26.4 python +azure-core 1.27.1 python azure-identity 1.13.0 python azure-mgmt-core 1.4.0 python -azure-mgmt-dns 8.0.0 python +azure-mgmt-dns 8.1.0 python bash 5.2.15-r5 apk beautifulsoup4 4.12.2 python -boto3 1.26.143 python -botocore 1.29.143 python +boto3 1.28.1 python +botocore 1.31.1 python brotli-libs 1.0.9-r14 apk bs4 0.0.1 python -busybox 1.36.0 binary -busybox 1.36.0-r9 apk -busybox-binsh 1.36.0-r9 apk +busybox 1.36.1 binary +busybox 1.36.1-r0 apk +busybox-binsh 1.36.1-r0 apk c-client 2007f-r15 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk @@ -35,7 +35,7 @@ cachetools 5.3.1 python certbot 2.6.0 python certbot-dns-acmedns 0.1.0 python certbot-dns-aliyun 2.0.0 python -certbot-dns-azure 2.1.0 python +certbot-dns-azure 2.3.0 python certbot-dns-cloudflare 2.6.0 python certbot-dns-cpanel 0.4.0 python certbot-dns-desec 1.2.1 python @@ -74,13 +74,13 @@ certbot-dns-vultr 1.1.0 python certbot-plugin-gandi 1.4.3 python certifi 2023.5.7 python cffi 1.15.1 python -charset-normalizer 3.1.0 python +charset-normalizer 3.2.0 python cloudflare 2.11.6 python configobj 5.0.8 python coreutils 9.3-r1 apk -cryptography 41.0.0 python -curl 8.1.1-r1 apk -dataclasses-json 0.5.7 python +cryptography 41.0.1 python +curl 8.1.2-r0 apk +dataclasses-json 0.5.9 python distro 1.8.0 python dns-lexicon 3.11.7 python dnslib 0.9.23 python @@ -89,7 +89,7 @@ domeneshop 0.4.3 python fail2ban 1.0.2 python fail2ban 1.0.2-r2 apk fail2ban-pyc 1.0.2-r2 apk -filelock 3.12.0 python +filelock 3.12.2 python fontconfig 2.14.2-r3 apk freetype 2.13.0-r5 apk future 0.18.3 python @@ -97,28 +97,28 @@ gdbm 1.23-r1 apk git 2.40.1-r0 apk git-perl 2.40.1-r0 apk gmp 6.2.1-r3 apk -gnupg 2.4.1-r1 apk -gnupg-dirmngr 2.4.1-r1 apk -gnupg-gpgconf 2.4.1-r1 apk -gnupg-keyboxd 2.4.1-r1 apk -gnupg-utils 2.4.1-r1 apk -gnupg-wks-client 2.4.1-r1 apk +gnupg 2.4.3-r0 apk +gnupg-dirmngr 2.4.3-r0 apk +gnupg-gpgconf 2.4.3-r0 apk +gnupg-keyboxd 2.4.3-r0 apk +gnupg-utils 2.4.3-r0 apk +gnupg-wks-client 2.4.3-r0 apk gnutls 3.8.0-r2 apk -google-api-core 2.11.0 python -google-api-python-client 2.88.0 python -google-auth 2.19.0 python +google-api-core 2.11.1 python +google-api-python-client 2.92.0 python +google-auth 2.21.0 python google-auth-httplib2 0.1.0 python -googleapis-common-protos 1.59.0 python -gpg 2.4.1-r1 apk -gpg-agent 2.4.1-r1 apk -gpg-wks-server 2.4.1-r1 apk -gpgsm 2.4.1-r1 apk -gpgv 2.4.1-r1 apk +googleapis-common-protos 1.59.1 python +gpg 2.4.3-r0 apk +gpg-agent 2.4.3-r0 apk +gpg-wks-server 2.4.3-r0 apk +gpgsm 2.4.3-r0 apk +gpgv 2.4.3-r0 apk httplib2 0.22.0 python -icu-data-en 73.1-r1 apk -icu-libs 73.1-r1 apk +icu-data-en 73.2-r1 apk +icu-libs 73.2-r1 apk idna 3.4 python -importlib-metadata 6.6.0 python +importlib-metadata 6.8.0 python ip6tables 1.8.9-r2 apk iptables 1.8.9-r2 apk isodate 0.6.1 python @@ -128,15 +128,15 @@ jq 1.6-r3 apk jsonlines 3.1.0 python jsonpickle 3.0.1 python libacl 2.3.1-r3 apk -libassuan 2.5.5-r2 apk +libassuan 2.5.6-r0 apk libattr 2.5.1-r4 apk libavif 0.11.1-r2 apk libbsd 0.11.7-r1 apk libbz2 1.0.8-r5 apk libc-utils 0.7.2-r5 apk libcrypto3 3.1.1-r1 apk -libcurl 8.1.1-r1 apk -libdav1d 1.2.0-r0 apk +libcurl 8.1.2-r0 apk +libdav1d 1.2.1-r0 apk libedit 20221030.3.1-r1 apk libevent 2.1.12-r6 apk libexpat 2.5.0-r1 apk @@ -148,8 +148,8 @@ libgpg-error 1.47-r1 apk libice 1.1.1-r2 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk -libjpeg-turbo 2.1.5.1-r2 apk -libksba 1.6.3-r2 apk +libjpeg-turbo 2.1.5.1-r3 apk +libksba 1.6.4-r0 apk libldap 2.6.4-r3 apk libmaxminddb-libs 1.7.1-r1 apk libmcrypt 2.5.8-r10 apk @@ -170,9 +170,9 @@ libssl3 3.1.1-r1 apk libstdc++ 12.2.1_git20220924-r10 apk libtasn1 4.19.0-r1 apk libunistring 1.1-r1 apk -libuuid 2.38.1-r7 apk -libwebp 1.3.0-r2 apk -libx11 1.8.4-r3 apk +libuuid 2.38.1-r8 apk +libwebp 1.3.1-r0 apk +libx11 1.8.4-r4 apk libxau 1.0.11-r2 apk libxcb 1.15-r1 apk libxdmcp 1.1.4-r2 apk @@ -185,17 +185,16 @@ libzip 1.9.2-r2 apk linux-pam 1.5.2-r10 apk logrotate 3.21.0-r1 apk loopialib 0.2.0 python -lxml 4.9.2 python +lxml 4.9.3 python lz4-libs 1.9.4-r4 apk marshmallow 3.19.0 python marshmallow-enum 1.5.1 python -memcached 1.6.20 binary -memcached 1.6.20-r0 apk +memcached 1.6.21 binary +memcached 1.6.21-r0 apk mock 5.0.2 python mpdecimal 2.5.1-r2 apk msal 1.22.0 python msal-extensions 1.0.0 python -msrest 0.7.1 python musl 1.2.4-r0 apk musl-utils 1.2.4-r0 apk mypy-extensions 1.0.0 python @@ -224,9 +223,8 @@ nginx-mod-stream 1.24.0-r6 apk nginx-mod-stream-geoip2 1.24.0-r6 apk nginx-vim 1.24.0-r6 apk npth 1.6-r4 apk -oauthlib 3.2.2 python oniguruma 6.9.8-r1 apk -openssl 3.1.0-r4 apk +openssl 3.1.1-r1 apk p11-kit 0.24.1-r2 apk packaging 23.1 python parsedatetime 2.6 python @@ -235,64 +233,64 @@ pcre2 10.42-r1 apk perl 5.36.1-r2 apk perl-error 0.17029-r1 apk perl-git 2.40.1-r0 apk -php-cli 8.2.6 binary -php-fpm 8.2.6 binary -php82 8.2.6-r1 apk -php82-bcmath 8.2.6-r1 apk -php82-bz2 8.2.6-r1 apk -php82-common 8.2.6-r1 apk -php82-ctype 8.2.6-r1 apk -php82-curl 8.2.6-r1 apk -php82-dom 8.2.6-r1 apk -php82-exif 8.2.6-r1 apk -php82-fileinfo 8.2.6-r1 apk -php82-fpm 8.2.6-r1 apk -php82-ftp 8.2.6-r1 apk -php82-gd 8.2.6-r1 apk -php82-gmp 8.2.6-r1 apk -php82-iconv 8.2.6-r1 apk -php82-imap 8.2.6-r1 apk -php82-intl 8.2.6-r1 apk -php82-ldap 8.2.6-r1 apk -php82-mbstring 8.2.6-r1 apk -php82-mysqli 8.2.6-r1 apk -php82-mysqlnd 8.2.6-r1 apk -php82-opcache 8.2.6-r1 apk -php82-openssl 8.2.6-r1 apk -php82-pdo 8.2.6-r1 apk -php82-pdo_mysql 8.2.6-r1 apk -php82-pdo_odbc 8.2.6-r1 apk -php82-pdo_pgsql 8.2.6-r1 apk -php82-pdo_sqlite 8.2.6-r1 apk -php82-pear 8.2.6-r1 apk +php-cli 8.2.7 binary +php-fpm 8.2.7 binary +php82 8.2.7-r0 apk +php82-bcmath 8.2.8-r0 apk +php82-bz2 8.2.8-r0 apk +php82-common 8.2.7-r0 apk +php82-ctype 8.2.7-r0 apk +php82-curl 8.2.7-r0 apk +php82-dom 8.2.8-r0 apk +php82-exif 8.2.8-r0 apk +php82-fileinfo 8.2.7-r0 apk +php82-fpm 8.2.7-r0 apk +php82-ftp 8.2.8-r0 apk +php82-gd 8.2.8-r0 apk +php82-gmp 8.2.8-r0 apk +php82-iconv 8.2.7-r0 apk +php82-imap 8.2.8-r0 apk +php82-intl 8.2.8-r0 apk +php82-ldap 8.2.8-r0 apk +php82-mbstring 8.2.7-r0 apk +php82-mysqli 8.2.8-r0 apk +php82-mysqlnd 8.2.8-r0 apk +php82-opcache 8.2.8-r0 apk +php82-openssl 8.2.7-r0 apk +php82-pdo 8.2.8-r0 apk +php82-pdo_mysql 8.2.8-r0 apk +php82-pdo_odbc 8.2.8-r0 apk +php82-pdo_pgsql 8.2.8-r0 apk +php82-pdo_sqlite 8.2.8-r0 apk +php82-pear 8.2.8-r0 apk php82-pecl-apcu 5.1.22-r0 apk php82-pecl-igbinary 3.2.14-r0 apk php82-pecl-mcrypt 1.0.6-r0 apk php82-pecl-memcached 3.2.0-r1 apk -php82-pecl-msgpack 2.2.0_rc2-r1 apk +php82-pecl-msgpack 2.2.0-r0 apk php82-pecl-redis 5.3.7-r2 apk -php82-pgsql 8.2.6-r1 apk -php82-phar 8.2.6-r1 apk -php82-posix 8.2.6-r1 apk -php82-session 8.2.6-r1 apk -php82-simplexml 8.2.6-r1 apk -php82-soap 8.2.6-r1 apk -php82-sockets 8.2.6-r1 apk -php82-sodium 8.2.6-r1 apk -php82-sqlite3 8.2.6-r1 apk -php82-tokenizer 8.2.6-r1 apk -php82-xml 8.2.6-r1 apk -php82-xmlreader 8.2.6-r1 apk -php82-xmlwriter 8.2.6-r1 apk -php82-xsl 8.2.6-r1 apk -php82-zip 8.2.6-r1 apk +php82-pgsql 8.2.8-r0 apk +php82-phar 8.2.7-r0 apk +php82-posix 8.2.8-r0 apk +php82-session 8.2.7-r0 apk +php82-simplexml 8.2.7-r0 apk +php82-soap 8.2.8-r0 apk +php82-sockets 8.2.8-r0 apk +php82-sodium 8.2.8-r0 apk +php82-sqlite3 8.2.8-r0 apk +php82-tokenizer 8.2.8-r0 apk +php82-xml 8.2.7-r0 apk +php82-xmlreader 8.2.8-r0 apk +php82-xmlwriter 8.2.7-r0 apk +php82-xsl 8.2.8-r0 apk +php82-zip 8.2.7-r0 apk pinentry 1.2.1-r1 apk pip 23.1.2 python pkb-client 1.2 python popt 1.19-r2 apk portalocker 2.7.0 python procps-ng 4.0.3-r1 apk -protobuf 4.23.2 python +protobuf 4.23.4 python publicsuffixlist 0.9.4 python pyOpenSSL 23.2.0 python pyRFC3339 1.1 python @@ -301,34 +299,33 @@ pyasn1 0.5.0 python pyasn1-modules 0.3.0 python pyc 0.1-r0 apk pycparser 2.21 python -pyparsing 3.0.9 python -python 3.11.3 binary +pyparsing 3.1.0 python +python 3.11.4 binary python-dateutil 2.8.2 python python-digitalocean 1.17.0 python python-transip 0.6.0 python -python3 3.11.3-r11 apk -python3-pyc 3.11.3-r11 apk -python3-pycache-pyc0 3.11.3-r11 apk +python3 3.11.4-r0 apk +python3-pyc 3.11.4-r0 apk +python3-pycache-pyc0 3.11.4-r0 apk pytz 2023.3 python readline 8.2.1-r1 apk requests 2.31.0 python requests-file 1.5.1 python -requests-mock 1.10.0 python -requests-oauthlib 1.3.1 python +requests-mock 1.11.0 python rsa 4.9 python s3transfer 0.6.1 python scanelf 1.3.7-r1 apk setuptools 65.5.0 python -shadow 4.13-r2 apk +shadow 4.13-r4 apk six 1.16.0 python skalibs 2.13.1.1-r1 apk soupsieve 2.4.1 python sqlite-libs 3.41.2-r2 apk -ssl_client 1.36.0-r9 apk -tiff 4.5.0-r6 apk +ssl_client 1.36.1-r0 apk +tiff 4.5.1-r0 apk tldextract 3.4.4 python typing-inspect 0.9.0 python -typing_extensions 4.6.2 python +typing_extensions 4.7.1 python tzdata 2023c-r1 apk unixodbc 2.3.11-r2 apk uritemplate 4.1.1 python diff --git a/readme-vars.yml b/readme-vars.yml index a903adc..4275116 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -83,7 +83,7 @@ app_setup_block: | * For `dns` validation, make sure to enter your credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf` * Cloudflare provides free accounts for managing dns and is very easy to use with this image. Make sure that it is set up for "dns only" instead of "dns + proxy" * Google dns plugin is meant to be used with "Google Cloud DNS", a paid enterprise product, and not for "Google Domains DNS" - * DuckDNS only supoprts two types of DNS validated certificates (not both at the same time): + * DuckDNS only supports two types of DNS validated certificates (not both at the same time): 1. Certs that only cover your main subdomain (ie. `yoursubdomain.duckdns.org`, leave the `SUBDOMAINS` variable empty) 2. Certs that cover sub-subdomains of your main subdomain (ie. `*.yoursubdomain.duckdns.org`, set the `SUBDOMAINS` variable to `wildcard`) * `--cap-add=NET_ADMIN` is required for fail2ban to modify iptables diff --git a/root/defaults/nginx/site-confs/default.conf.sample b/root/defaults/nginx/site-confs/default.conf.sample index 6bd2438..df852ed 100644 --- a/root/defaults/nginx/site-confs/default.conf.sample +++ b/root/defaults/nginx/site-confs/default.conf.sample @@ -1,4 +1,4 @@ -## Version 2023/04/13 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample +## Version 2023/06/05 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample # redirect all traffic to https server { @@ -52,6 +52,19 @@ server { } location ~ ^(.+\.php)(.*)$ { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; diff --git a/root/etc/s6-overlay/s6-rc.d/init-certbot-config/run b/root/etc/s6-overlay/s6-rc.d/init-certbot-config/run index 7c73a7a..d95e9a6 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-certbot-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-certbot-config/run @@ -47,12 +47,12 @@ touch /config/etc/letsencrypt/cli.ini grep -qF 'agree-tos' /config/etc/letsencrypt/cli.ini || echo 'agree-tos=true' >>/config/etc/letsencrypt/cli.ini # copy dns default configs -cp -n /defaults/dns-conf/* /config/dns-conf/ +cp -n /defaults/dns-conf/* /config/dns-conf/ 2> >(grep -v 'cp: not replacing') lsiown -R abc:abc /config/dns-conf # copy default renewal hooks chmod -R +x /defaults/etc/letsencrypt/renewal-hooks -cp -nR /defaults/etc/letsencrypt/renewal-hooks/* /config/etc/letsencrypt/renewal-hooks/ +cp -nR /defaults/etc/letsencrypt/renewal-hooks/* /config/etc/letsencrypt/renewal-hooks/ 2> >(grep -v 'cp: not replacing') lsiown -R abc:abc /config/etc/letsencrypt/renewal-hooks # replace nginx service location in renewal hooks diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run index 8859365..c0bb241 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run @@ -15,7 +15,7 @@ if [[ ! -f /config/crontabs/root ]]; then # 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/root /config/crontabs/ + cp -n /etc/crontabs/root /config/crontabs/ 2> >(grep -v 'cp: not replacing') fi # set permissions and import user crontabs lsiown root:root /config/crontabs/root @@ -31,7 +31,7 @@ if [[ ! -f /config/crontabs/abc ]]; then # 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/ + cp -n /etc/crontabs/abc /config/crontabs/ 2> >(grep -v 'cp: not replacing') fi # set permissions and import user crontabs lsiown abc:abc /config/crontabs/abc