From 0a87bdaba8e42f469b49f9bee9db177d03f3d3bf Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Sun, 1 Dec 2024 23:11:04 +0000 Subject: [PATCH] Bot Updating Templated Files --- readme-vars.yml | 278 +++++++++++++++++++++++++++++------------------- 1 file changed, 169 insertions(+), 109 deletions(-) diff --git a/readme-vars.yml b/readme-vars.yml index dd8eac5..2a9e9d6 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -6,44 +6,40 @@ project_url: "https://linuxserver.io" project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/swag.gif" project_blurb: "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." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" - # supported architectures available_architectures: - - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - + - {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} + - {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} # container parameters common_param_env_vars_enabled: true param_container_name: "{{ project_name }}" param_usage_include_env: true param_env_vars: - - { env_var: "URL", env_value: "example.com", desc: "Top url you have control over (e.g. `example.com` if you own it, or `customsubdomain.example.com` if dynamic dns)." } - - { env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set).", env_options: ["http", "dns"] } + - {env_var: "URL", env_value: "example.com", desc: "Top url you have control over (e.g. `example.com` if you own it, or `customsubdomain.example.com` if dynamic dns)."} + - {env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set).", env_options: ["http", "dns"]} param_usage_include_vols: true param_volumes: - - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" } + - {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"} param_usage_include_ports: true param_ports: - - { external_port: "443", internal_port: "443", port_desc: "HTTPS port" } + - {external_port: "443", internal_port: "443", port_desc: "HTTPS port"} cap_add_param: true cap_add_param_vars: - - { cap_add_var: "NET_ADMIN", desc: "Required for fail2Ban to be able to modify iptables rules." } - + - {cap_add_var: "NET_ADMIN", desc: "Required for fail2Ban to be able to modify iptables rules."} # optional container parameters opt_param_usage_include_env: true 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: "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`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `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`." } - - { 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: "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: "EXTRA_DOMAINS", env_value: "", desc: "Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org`" } - - { env_var: "STAGING", env_value: "false", desc: "Set to `true` to retrieve certs in staging mode. Rate limits will be much higher, but the resulting cert will not pass the browser's security test. Only to be used for testing purposes." } + - {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: "DNSPLUGIN", env_value: "cloudflare", desc: "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`, `dynu`, `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`."} + - {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: "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: "EXTRA_DOMAINS", env_value: "", desc: "Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org`"} + - {env_var: "STAGING", env_value: "false", desc: "Set to `true` to retrieve certs in staging mode. Rate limits will be much higher, but the resulting cert will not pass the browser's security test. Only to be used for testing purposes."} 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: "80", internal_port: "80", port_desc: "HTTP port (required for HTTP validation and HTTP -> HTTPS redirect)"} # application setup block app_setup_block_enabled: true app_setup_block: | @@ -137,94 +133,158 @@ app_setup_block: | ### 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). - +# init diagram +init_diagram: | + "swag:latest": { + docker-mods + base { + fix-attr +\nlegacy cont-init + } + docker-mods -> base + legacy-services + custom services + init-services -> legacy-services + init-services -> custom services + custom services -> legacy-services + legacy-services -> ci-service-check + init-migrations -> init-adduser + init-swag-config -> init-certbot-config + init-nginx-end -> init-config + init-os-end -> init-config + init-config -> init-config-end + init-outdated-config -> init-config-end + init-os-end -> init-crontab-config + init-mods-end -> init-custom-files + base -> init-envfile + init-swag-samples -> init-fail2ban-config + init-os-end -> init-folders + init-php -> init-keygen + base -> init-migrations + base -> init-mods + init-config-end -> init-mods + init-version-checks -> init-mods + init-mods -> init-mods-end + init-mods-package-install -> init-mods-end + init-mods -> init-mods-package-install + init-samples -> init-nginx + init-permissions -> init-nginx-end + base -> init-os-end + init-adduser -> init-os-end + init-envfile -> init-os-end + init-migrations -> init-os-end + init-renew -> init-outdated-config + init-keygen -> init-permissions + init-certbot-config -> init-permissions-config + init-nginx -> init-php + init-permissions-config -> init-renew + init-config -> init-require-url + init-folders -> init-samples + init-custom-files -> init-services + init-mods-end -> init-services + init-fail2ban-config -> init-swag-config + init-require-url -> init-swag-folders + init-swag-folders -> init-swag-samples + init-config-end -> init-version-checks + init-services -> svc-cron + svc-cron -> legacy-services + init-services -> svc-fail2ban + svc-fail2ban -> legacy-services + init-services -> svc-nginx + svc-nginx -> legacy-services + init-services -> svc-php-fpm + svc-php-fpm -> legacy-services + } + Base Images: { + "baseimage-alpine-nginx:3.20" <- "baseimage-alpine:3.20" + } + "swag:latest" <- Base Images # changelog changelogs: - - { 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)." } - - { date: "30.08.24:", desc: "Fix zerossl cert revocation." } - - { date: "24.07.14:", desc: "Rebase to Alpine 3.20. Remove deprecated Google Domains certbot plugin. Existing users should update their nginx confs to avoid http2 deprecation warnings."} - - { date: "01.07.24:", desc: "Fall back to iptables-legacy if iptables doesn't work." } - - { date: "23.03.24:", desc: "Fix perms on the generated `priv-fullchain-bundle.pem`." } - - { date: "14.03.24:", desc: "[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." } - - { date: "11.03.24:", desc: "Restore support for DynuDNS using `certbot-dns-dynudns`." } - - { date: "06.03.24:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Cleanup default site conf." } - - { date: "04.03.24:", desc: "Remove `stream.conf` inside the container to allow users to include their own block in `nginx.conf`." } - - { date: "23.01.24:", desc: "Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate." } - - { date: "01.01.24:", desc: "Add GleSYS DNS plugin." } - - { date: "11.12.23:", desc: "Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins." } - - { date: "30.11.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404." } - - { date: "23.11.23:", desc: "Run certbot as root to allow fix http validation." } - - { date: "01.10.23:", desc: "Fix \"unrecognized arguments\" issue in DirectAdmin DNS plugin." } - - { date: "28.08.23:", desc: "Add Namecheap DNS plugin." } - - { date: "12.08.23:", desc: "Add FreeDNS plugin. Detect certbot DNS authenticators using CLI." } - - { date: "07.08.23:", desc: "Add Bunny DNS Configuration." } - - { date: "27.07.23:", desc: "Added support for dreamhost validation." } - - { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." } - - { date: "27.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-location.conf, authelia-server.conf, authentik-location.conf, authentik-server.conf - Simplify auth configs and fix Set-Cookie header bug." } - - { date: "13.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik." } - - { 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: "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: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." } - - { date: "16.01.23:", desc: "Remove nchan module because it keeps causing crashes." } - - { date: "08.12.22:", desc: "Revamp certbot init."} - - { date: "03.12.22:", desc: "Remove defunct cloudxns plugin."} - - { date: "22.11.22:", desc: "Pin acme to the same version as certbot."} - - { date: "22.11.22:", desc: "Pin certbot to 1.32.0 until plugin compatibility improves."} - - { date: "05.11.22:", desc: "Update acmedns plugin handling."} - - { date: "06.10.22:", desc: "Switch to certbot-dns-duckdns. Update cpanel and gandi dns plugin handling. Minor adjustments to init logic." } - - { date: "05.10.22:", desc: "Use certbot file hooks instead of command line hooks" } - - { date: "04.10.22:", desc: "Add godaddy and porkbun dns plugins." } - - { date: "03.10.22:", desc: "Add default_server back to default site conf's https listen." } - - { date: "22.09.22:", desc: "Added support for DO DNS validation." } - - { date: "22.09.22:", desc: "Added certbot-dns-acmedns for DNS01 validation." } - - { date: "20.08.22:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf - Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))." } - - { date: "10.08.22:", desc: "Added support for Dynu DNS validation." } - - { date: "18.05.22:", desc: "Added support for Azure DNS validation." } - - { date: "09.04.22:", desc: "Added certbot-dns-loopia for DNS01 validation." } - - { date: "05.04.22:", desc: "Added support for standalone DNS validation." } - - { date: "28.03.22:", desc: "created a logfile for fail2ban nginx-unauthorized in /etc/cont-init.d/50-config" } - - { date: "09.01.22:", desc: "Added a fail2ban jail for nginx unauthorized" } - - { date: "21.12.21:", desc: "Fixed issue with iptables not working as expected" } - - { date: "30.11.21:", desc: "Move maxmind to a [new mod](https://github.com/linuxserver/docker-mods/tree/swag-maxmind)" } - - { date: "22.11.21:", desc: "Added support for Infomaniak DNS for certificate generation." } - - { date: "20.11.21:", desc: "Added support for dnspod validation." } - - { date: "15.11.21:", desc: "Added support for deSEC DNS for wildcard certificate generation." } - - { date: "26.10.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf - Mitigate vulnerabilities. Ref: " } - - { date: "23.10.21:", desc: "Fix Hurricane Electric (HE) DNS validation." } - - { date: "12.10.21:", desc: "Fix deprecated LE root cert check to fix failures when using `STAGING=true`, and failures in revoking." } - - { date: "06.10.21:", desc: "Added support for Hurricane Electric (HE) DNS validation. Added lxml build deps." } - - { date: "01.10.21:", desc: "Check if the cert uses the old LE root cert, revoke and regenerate if necessary. [Here's more info](https://twitter.com/letsencrypt/status/1443621997288767491) on LE root cert expiration" } - - { date: "19.09.21:", desc: "Add an optional header to opt out of Google FLoC in `ssl.conf`." } - - { date: "17.09.21:", desc: "Mark `SUBDOMAINS` var as optional." } - - { date: "01.08.21:", desc: "Add support for ionos dns validation." } - - { date: "15.07.21:", desc: "Fix libmaxminddb issue due to upstream change." } - - { date: "07.07.21:", desc: "Rebase to alpine 3.14." } - - { date: "24.06.21:", desc: "Update default nginx conf folder." } - - { date: "28.05.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-server.conf - Use `resolver.conf` and patch for `CVE-2021-32637`." } - - { date: "20.05.21:", desc: "Modify resolver.conf generation to detect and ignore ipv6." } - - { date: "14.05.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, ssl.conf, proxy.conf, and the default site-conf - Rework nginx.conf to be inline with alpine upstream and relocate lines from other files. Use linuxserver.io wheel index for pip packages. Switch to using [ffdhe4096](https://ssl-config.mozilla.org/ffdhe4096.txt) for `dhparams.pem` per [RFC7919](https://datatracker.ietf.org/doc/html/rfc7919). Added `worker_processes.conf`, which sets the number of nginx workers, and `resolver.conf`, which sets the dns resolver. Both conf files are auto-generated only on first start and can be user modified later." } - - { date: "21.04.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-server.conf and authelia-location.conf - Add remote name/email headers and pass http method." } - - { date: "12.04.21:", desc: "Add php7-gmp and php7-pecl-mailparse." } - - { date: "12.04.21:", desc: "Add support for vultr dns validation." } - - { date: "14.03.21:", desc: "Add support for directadmin dns validation." } - - { date: "12.02.21:", desc: "Clean up rust/cargo cache, which ballooned the image size in the last couple of builds." } - - { date: "10.02.21:", desc: "Fix aliyun, domeneshop, inwx and transip dns confs for existing users." } - - { date: "09.02.21:", desc: "Rebasing to alpine 3.13. Add nginx mods brotli and dav-ext. Remove nginx mods lua and lua-upstream (due to regression over the last couple of years)." } - - { date: "26.01.21:", desc: "Add support for hetzner dns validation." } - - { date: "20.01.21:", desc: "Add check for ZeroSSL EAB retrieval." } - - { date: "08.01.21:", desc: "Add support for getting certs from [ZeroSSL](https://zerossl.com/) via optional `CERTPROVIDER` env var. Update aliyun, domeneshop, inwx and transip dns plugins with the new plugin names. Hide `donoteditthisfile.conf` because users were editing it despite its name. Suppress harmless error when no proxy confs are enabled." } - - { date: "03.01.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) /config/nginx/site-confs/default.conf - Add helper pages to aid troubleshooting" } - - { date: "10.12.20:", desc: "Add support for njalla dns validation" } - - { date: "09.12.20:", desc: "Check for template/conf updates and notify in the log. Add support for gehirn and sakuracloud dns validation." } - - { date: "01.11.20:", desc: "Add support for netcup dns validation" } - - { date: "29.10.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) ssl.conf - Add frame-ancestors to Content-Security-Policy." } - - { date: "04.10.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, proxy.conf, and ssl.conf - Minor cleanups and reordering." } - - { date: "20.09.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf - Added geoip2 configs. Added MAXMINDDB_LICENSE_KEY variable to readme."} - - { date: "08.09.20:", desc: "Add php7-xsl." } - - { date: "01.09.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, proxy.conf, and various proxy samples - Global websockets across all configs." } - - { date: "03.08.20:", desc: "Initial release." } + - {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)."} + - {date: "30.08.24:", desc: "Fix zerossl cert revocation."} + - {date: "24.07.14:", desc: "Rebase to Alpine 3.20. Remove deprecated Google Domains certbot plugin. Existing users should update their nginx confs to avoid http2 deprecation warnings."} + - {date: "01.07.24:", desc: "Fall back to iptables-legacy if iptables doesn't work."} + - {date: "23.03.24:", desc: "Fix perms on the generated `priv-fullchain-bundle.pem`."} + - {date: "14.03.24:", desc: "[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."} + - {date: "11.03.24:", desc: "Restore support for DynuDNS using `certbot-dns-dynudns`."} + - {date: "06.03.24:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Cleanup default site conf."} + - {date: "04.03.24:", desc: "Remove `stream.conf` inside the container to allow users to include their own block in `nginx.conf`."} + - {date: "23.01.24:", desc: "Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate."} + - {date: "01.01.24:", desc: "Add GleSYS DNS plugin."} + - {date: "11.12.23:", desc: "Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins."} + - {date: "30.11.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404."} + - {date: "23.11.23:", desc: "Run certbot as root to allow fix http validation."} + - {date: "01.10.23:", desc: "Fix \"unrecognized arguments\" issue in DirectAdmin DNS plugin."} + - {date: "28.08.23:", desc: "Add Namecheap DNS plugin."} + - {date: "12.08.23:", desc: "Add FreeDNS plugin. Detect certbot DNS authenticators using CLI."} + - {date: "07.08.23:", desc: "Add Bunny DNS Configuration."} + - {date: "27.07.23:", desc: "Added support for dreamhost validation."} + - {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."} + - {date: "27.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-location.conf, authelia-server.conf, authentik-location.conf, authentik-server.conf - Simplify auth configs and fix Set-Cookie header bug."} + - {date: "13.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik."} + - {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: "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: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1."} + - {date: "16.01.23:", desc: "Remove nchan module because it keeps causing crashes."} + - {date: "08.12.22:", desc: "Revamp certbot init."} + - {date: "03.12.22:", desc: "Remove defunct cloudxns plugin."} + - {date: "22.11.22:", desc: "Pin acme to the same version as certbot."} + - {date: "22.11.22:", desc: "Pin certbot to 1.32.0 until plugin compatibility improves."} + - {date: "05.11.22:", desc: "Update acmedns plugin handling."} + - {date: "06.10.22:", desc: "Switch to certbot-dns-duckdns. Update cpanel and gandi dns plugin handling. Minor adjustments to init logic."} + - {date: "05.10.22:", desc: "Use certbot file hooks instead of command line hooks"} + - {date: "04.10.22:", desc: "Add godaddy and porkbun dns plugins."} + - {date: "03.10.22:", desc: "Add default_server back to default site conf's https listen."} + - {date: "22.09.22:", desc: "Added support for DO DNS validation."} + - {date: "22.09.22:", desc: "Added certbot-dns-acmedns for DNS01 validation."} + - {date: "20.08.22:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf - Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."} + - {date: "10.08.22:", desc: "Added support for Dynu DNS validation."} + - {date: "18.05.22:", desc: "Added support for Azure DNS validation."} + - {date: "09.04.22:", desc: "Added certbot-dns-loopia for DNS01 validation."} + - {date: "05.04.22:", desc: "Added support for standalone DNS validation."} + - {date: "28.03.22:", desc: "created a logfile for fail2ban nginx-unauthorized in /etc/cont-init.d/50-config"} + - {date: "09.01.22:", desc: "Added a fail2ban jail for nginx unauthorized"} + - {date: "21.12.21:", desc: "Fixed issue with iptables not working as expected"} + - {date: "30.11.21:", desc: "Move maxmind to a [new mod](https://github.com/linuxserver/docker-mods/tree/swag-maxmind)"} + - {date: "22.11.21:", desc: "Added support for Infomaniak DNS for certificate generation."} + - {date: "20.11.21:", desc: "Added support for dnspod validation."} + - {date: "15.11.21:", desc: "Added support for deSEC DNS for wildcard certificate generation."} + - {date: "26.10.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf - Mitigate vulnerabilities. Ref: "} + - {date: "23.10.21:", desc: "Fix Hurricane Electric (HE) DNS validation."} + - {date: "12.10.21:", desc: "Fix deprecated LE root cert check to fix failures when using `STAGING=true`, and failures in revoking."} + - {date: "06.10.21:", desc: "Added support for Hurricane Electric (HE) DNS validation. Added lxml build deps."} + - {date: "01.10.21:", desc: "Check if the cert uses the old LE root cert, revoke and regenerate if necessary. [Here's more info](https://twitter.com/letsencrypt/status/1443621997288767491) on LE root cert expiration"} + - {date: "19.09.21:", desc: "Add an optional header to opt out of Google FLoC in `ssl.conf`."} + - {date: "17.09.21:", desc: "Mark `SUBDOMAINS` var as optional."} + - {date: "01.08.21:", desc: "Add support for ionos dns validation."} + - {date: "15.07.21:", desc: "Fix libmaxminddb issue due to upstream change."} + - {date: "07.07.21:", desc: "Rebase to alpine 3.14."} + - {date: "24.06.21:", desc: "Update default nginx conf folder."} + - {date: "28.05.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-server.conf - Use `resolver.conf` and patch for `CVE-2021-32637`."} + - {date: "20.05.21:", desc: "Modify resolver.conf generation to detect and ignore ipv6."} + - {date: "14.05.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, ssl.conf, proxy.conf, and the default site-conf - Rework nginx.conf to be inline with alpine upstream and relocate lines from other files. Use linuxserver.io wheel index for pip packages. Switch to using [ffdhe4096](https://ssl-config.mozilla.org/ffdhe4096.txt) for `dhparams.pem` per [RFC7919](https://datatracker.ietf.org/doc/html/rfc7919). Added `worker_processes.conf`, which sets the number of nginx workers, and `resolver.conf`, which sets the dns resolver. Both conf files are auto-generated only on first start and can be user modified later."} + - {date: "21.04.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-server.conf and authelia-location.conf - Add remote name/email headers and pass http method."} + - {date: "12.04.21:", desc: "Add php7-gmp and php7-pecl-mailparse."} + - {date: "12.04.21:", desc: "Add support for vultr dns validation."} + - {date: "14.03.21:", desc: "Add support for directadmin dns validation."} + - {date: "12.02.21:", desc: "Clean up rust/cargo cache, which ballooned the image size in the last couple of builds."} + - {date: "10.02.21:", desc: "Fix aliyun, domeneshop, inwx and transip dns confs for existing users."} + - {date: "09.02.21:", desc: "Rebasing to alpine 3.13. Add nginx mods brotli and dav-ext. Remove nginx mods lua and lua-upstream (due to regression over the last couple of years)."} + - {date: "26.01.21:", desc: "Add support for hetzner dns validation."} + - {date: "20.01.21:", desc: "Add check for ZeroSSL EAB retrieval."} + - {date: "08.01.21:", desc: "Add support for getting certs from [ZeroSSL](https://zerossl.com/) via optional `CERTPROVIDER` env var. Update aliyun, domeneshop, inwx and transip dns plugins with the new plugin names. Hide `donoteditthisfile.conf` because users were editing it despite its name. Suppress harmless error when no proxy confs are enabled."} + - {date: "03.01.21:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) /config/nginx/site-confs/default.conf - Add helper pages to aid troubleshooting"} + - {date: "10.12.20:", desc: "Add support for njalla dns validation"} + - {date: "09.12.20:", desc: "Check for template/conf updates and notify in the log. Add support for gehirn and sakuracloud dns validation."} + - {date: "01.11.20:", desc: "Add support for netcup dns validation"} + - {date: "29.10.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) ssl.conf - Add frame-ancestors to Content-Security-Policy."} + - {date: "04.10.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, proxy.conf, and ssl.conf - Minor cleanups and reordering."} + - {date: "20.09.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf - Added geoip2 configs. Added MAXMINDDB_LICENSE_KEY variable to readme."} + - {date: "08.09.20:", desc: "Add php7-xsl."} + - {date: "01.09.20:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, proxy.conf, and various proxy samples - Global websockets across all configs."} + - {date: "03.08.20:", desc: "Initial release."}