mirror of
https://github.com/linuxserver/docker-swag.git
synced 2026-04-20 19:21:52 +09:00
Compare commits
11 Commits
1.19.0-ls8
...
1.19.0-ls8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce33eeebe7 | ||
|
|
d027970b50 | ||
|
|
a73daf773a | ||
|
|
3f88a30d5c | ||
|
|
b72b1b25ea | ||
|
|
73c0dc9084 | ||
|
|
da8f646fc8 | ||
|
|
b309e1ce45 | ||
|
|
10b235cc1d | ||
|
|
9f700b50d9 | ||
|
|
e37e972875 |
23
README.md
23
README.md
@@ -58,17 +58,6 @@ The architectures supported by this image are:
|
|||||||
|
|
||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
> ### Migrating from the old `linuxserver/letsencrypt` image
|
|
||||||
> * If using docker cli:
|
|
||||||
> * Stop and remove existing container via `docker stop letsencrypt` and `docker rm letsencrypt`
|
|
||||||
> * Create new container using the sample on this page (container name: `swag`, image name: `linuxserver/swag`)
|
|
||||||
> * If using docker compose:
|
|
||||||
> * Edit the compose yaml to change the image to `linuxserver/swag` and change the service and container names to `swag`
|
|
||||||
> * Issue `docker-compose up -d --remove-orphans`
|
|
||||||
> * If you don't want to or can't use the option `--remove-orphans`, then you can first do `docker-compose down`, then edit the compose yaml as above, and then issue `docker-compose up -d`
|
|
||||||
|
|
||||||
> Make sure to also update any references to this container by name. For instance, Nextcloud's `config.php` references this container in its `trusted_proxies` directive, which would have to be updated to `swag`.
|
|
||||||
|
|
||||||
### Validation and initial setup
|
### Validation and initial setup
|
||||||
|
|
||||||
* Before running this container, make sure that the url and subdomains are properly forwarded to this container's host, and that port 443 (and/or 80) is not being used by another service on the host (NAS gui, another webserver, etc.).
|
* Before running this container, make sure that the url and subdomains are properly forwarded to this container's host, and that port 443 (and/or 80) is not being used by another service on the host (NAS gui, another webserver, etc.).
|
||||||
@@ -138,6 +127,9 @@ 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.
|
* 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.
|
* You can check the new sample and adjust your active config as needed.
|
||||||
|
|
||||||
|
### 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).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Here are some example snippets to help you get started creating a container.
|
Here are some example snippets to help you get started creating a container.
|
||||||
@@ -158,8 +150,8 @@ services:
|
|||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- URL=yourdomain.url
|
- URL=yourdomain.url
|
||||||
- SUBDOMAINS=www,
|
|
||||||
- VALIDATION=http
|
- VALIDATION=http
|
||||||
|
- SUBDOMAINS=www, #optional
|
||||||
- CERTPROVIDER= #optional
|
- CERTPROVIDER= #optional
|
||||||
- DNSPLUGIN=cloudflare #optional
|
- DNSPLUGIN=cloudflare #optional
|
||||||
- PROPAGATION= #optional
|
- PROPAGATION= #optional
|
||||||
@@ -187,8 +179,8 @@ docker run -d \
|
|||||||
-e PGID=1000 \
|
-e PGID=1000 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e URL=yourdomain.url \
|
-e URL=yourdomain.url \
|
||||||
-e SUBDOMAINS=www, \
|
|
||||||
-e VALIDATION=http \
|
-e VALIDATION=http \
|
||||||
|
-e SUBDOMAINS=www, `#optional` \
|
||||||
-e CERTPROVIDER= `#optional` \
|
-e CERTPROVIDER= `#optional` \
|
||||||
-e DNSPLUGIN=cloudflare `#optional` \
|
-e DNSPLUGIN=cloudflare `#optional` \
|
||||||
-e PROPAGATION= `#optional` \
|
-e PROPAGATION= `#optional` \
|
||||||
@@ -217,8 +209,8 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
||||||
| `-e URL=yourdomain.url` | Top url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns). |
|
| `-e URL=yourdomain.url` | Top url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns). |
|
||||||
| `-e SUBDOMAINS=www,` | Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this _exactly_ to `wildcard` (wildcard cert is available via `dns` and `duckdns` validation only) |
|
|
||||||
| `-e VALIDATION=http` | Certbot validation method to use, options are `http`, `dns` or `duckdns` (`dns` method also requires `DNSPLUGIN` variable set) (`duckdns` method requires `DUCKDNSTOKEN` variable set, and the `SUBDOMAINS` variable must be either empty or set to `wildcard`). |
|
| `-e VALIDATION=http` | Certbot validation method to use, options are `http`, `dns` or `duckdns` (`dns` method also requires `DNSPLUGIN` variable set) (`duckdns` method requires `DUCKDNSTOKEN` variable set, and the `SUBDOMAINS` variable must be either empty or set to `wildcard`). |
|
||||||
|
| `-e SUBDOMAINS=www,` | Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this _exactly_ to `wildcard` (wildcard cert is available via `dns` and `duckdns` validation only) |
|
||||||
| `-e CERTPROVIDER=` | Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
|
| `-e CERTPROVIDER=` | Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
|
||||||
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `aliyun`, `cloudflare`, `cloudxns`, `cpanel`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `domeneshop`, `gandi`, `gehirn`, `google`, `hetzner`, `inwx`, `ionos`, `linode`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `rfc2136`, `route53`, `sakuracloud`, `transip` and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
|
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `aliyun`, `cloudflare`, `cloudxns`, `cpanel`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `domeneshop`, `gandi`, `gehirn`, `google`, `hetzner`, `inwx`, `ionos`, `linode`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `rfc2136`, `route53`, `sakuracloud`, `transip` and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
|
||||||
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
|
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
|
||||||
@@ -339,6 +331,9 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **01.10.21:** - 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
|
||||||
|
* **19.09.21:** - Add an optional header to opt out of Google FLoC in `ssl.conf`.
|
||||||
|
* **17.09.21:** - Mark `SUBDOMAINS` var as optional.
|
||||||
* **01.08.21:** - Add support for ionos dns validation.
|
* **01.08.21:** - Add support for ionos dns validation.
|
||||||
* **15.07.21:** - Fix libmaxminddb issue due to upstream change.
|
* **15.07.21:** - Fix libmaxminddb issue due to upstream change.
|
||||||
* **07.07.21:** - Rebase to alpine 3.14.
|
* **07.07.21:** - Rebase to alpine 3.14.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
alpine-baselayout-3.2.0-r16
|
alpine-baselayout-3.2.0-r16
|
||||||
alpine-keys-2.3-r1
|
alpine-keys-2.3-r1
|
||||||
apache2-utils-2.4.48-r0
|
apache2-utils-2.4.49-r0
|
||||||
apk-tools-2.12.7-r0
|
apk-tools-2.12.7-r0
|
||||||
apr-1.7.0-r0
|
apr-1.7.0-r0
|
||||||
apr-util-1.6.1-r7
|
apr-util-1.6.1-r7
|
||||||
@@ -12,7 +12,7 @@ c-client-2007f-r11
|
|||||||
ca-certificates-20191127-r5
|
ca-certificates-20191127-r5
|
||||||
ca-certificates-bundle-20191127-r5
|
ca-certificates-bundle-20191127-r5
|
||||||
coreutils-8.32-r2
|
coreutils-8.32-r2
|
||||||
curl-7.79.0-r0
|
curl-7.79.1-r0
|
||||||
expat-2.4.1-r0
|
expat-2.4.1-r0
|
||||||
fail2ban-0.11.2-r0
|
fail2ban-0.11.2-r0
|
||||||
freetype-2.10.4-r1
|
freetype-2.10.4-r1
|
||||||
@@ -21,7 +21,7 @@ git-2.32.0-r0
|
|||||||
git-perl-2.32.0-r0
|
git-perl-2.32.0-r0
|
||||||
glib-2.68.3-r0
|
glib-2.68.3-r0
|
||||||
gmp-6.2.1-r0
|
gmp-6.2.1-r0
|
||||||
gnupg-2.2.27-r0
|
gnupg-2.2.31-r0
|
||||||
gnutls-3.7.1-r0
|
gnutls-3.7.1-r0
|
||||||
icu-libs-67.1-r2
|
icu-libs-67.1-r2
|
||||||
ip6tables-1.8.7-r1
|
ip6tables-1.8.7-r1
|
||||||
@@ -35,7 +35,7 @@ libbz2-1.0.8-r1
|
|||||||
libc-utils-0.7.2-r3
|
libc-utils-0.7.2-r3
|
||||||
libcap-2.50-r0
|
libcap-2.50-r0
|
||||||
libcrypto1.1-1.1.1l-r0
|
libcrypto1.1-1.1.1l-r0
|
||||||
libcurl-7.79.0-r0
|
libcurl-7.79.1-r0
|
||||||
libedit-20210216.3.1-r0
|
libedit-20210216.3.1-r0
|
||||||
libevent-2.1.12-r2
|
libevent-2.1.12-r2
|
||||||
libffi-3.3-r2
|
libffi-3.3-r2
|
||||||
@@ -94,7 +94,7 @@ musl-utils-1.2.2-r3
|
|||||||
nano-5.7-r2
|
nano-5.7-r2
|
||||||
ncurses-libs-6.2_p20210612-r0
|
ncurses-libs-6.2_p20210612-r0
|
||||||
ncurses-terminfo-base-6.2_p20210612-r0
|
ncurses-terminfo-base-6.2_p20210612-r0
|
||||||
nettle-3.7.2-r0
|
nettle-3.7.3-r0
|
||||||
nghttp2-libs-1.43.0-r0
|
nghttp2-libs-1.43.0-r0
|
||||||
nginx-1.20.1-r3
|
nginx-1.20.1-r3
|
||||||
nginx-mod-devel-kit-1.20.1-r3
|
nginx-mod-devel-kit-1.20.1-r3
|
||||||
@@ -125,57 +125,57 @@ pcre2-10.36-r0
|
|||||||
perl-5.32.1-r0
|
perl-5.32.1-r0
|
||||||
perl-error-0.17029-r1
|
perl-error-0.17029-r1
|
||||||
perl-git-2.32.0-r0
|
perl-git-2.32.0-r0
|
||||||
php7-7.4.23-r0
|
php7-7.4.24-r0
|
||||||
php7-bcmath-7.4.23-r0
|
php7-bcmath-7.4.24-r0
|
||||||
php7-bz2-7.4.23-r0
|
php7-bz2-7.4.24-r0
|
||||||
php7-common-7.4.23-r0
|
php7-common-7.4.24-r0
|
||||||
php7-ctype-7.4.23-r0
|
php7-ctype-7.4.24-r0
|
||||||
php7-curl-7.4.23-r0
|
php7-curl-7.4.24-r0
|
||||||
php7-dom-7.4.23-r0
|
php7-dom-7.4.24-r0
|
||||||
php7-exif-7.4.23-r0
|
php7-exif-7.4.24-r0
|
||||||
php7-fileinfo-7.4.23-r0
|
php7-fileinfo-7.4.24-r0
|
||||||
php7-fpm-7.4.23-r0
|
php7-fpm-7.4.24-r0
|
||||||
php7-ftp-7.4.23-r0
|
php7-ftp-7.4.24-r0
|
||||||
php7-gd-7.4.23-r0
|
php7-gd-7.4.24-r0
|
||||||
php7-gmp-7.4.23-r0
|
php7-gmp-7.4.24-r0
|
||||||
php7-iconv-7.4.23-r0
|
php7-iconv-7.4.24-r0
|
||||||
php7-imap-7.4.23-r0
|
php7-imap-7.4.24-r0
|
||||||
php7-intl-7.4.23-r0
|
php7-intl-7.4.24-r0
|
||||||
php7-json-7.4.23-r0
|
php7-json-7.4.24-r0
|
||||||
php7-ldap-7.4.23-r0
|
php7-ldap-7.4.24-r0
|
||||||
php7-mbstring-7.4.23-r0
|
php7-mbstring-7.4.24-r0
|
||||||
php7-mysqli-7.4.23-r0
|
php7-mysqli-7.4.24-r0
|
||||||
php7-mysqlnd-7.4.23-r0
|
php7-mysqlnd-7.4.24-r0
|
||||||
php7-opcache-7.4.23-r0
|
php7-opcache-7.4.24-r0
|
||||||
php7-openssl-7.4.23-r0
|
php7-openssl-7.4.24-r0
|
||||||
php7-pdo-7.4.23-r0
|
php7-pdo-7.4.24-r0
|
||||||
php7-pdo_mysql-7.4.23-r0
|
php7-pdo_mysql-7.4.24-r0
|
||||||
php7-pdo_odbc-7.4.23-r0
|
php7-pdo_odbc-7.4.24-r0
|
||||||
php7-pdo_pgsql-7.4.23-r0
|
php7-pdo_pgsql-7.4.24-r0
|
||||||
php7-pdo_sqlite-7.4.23-r0
|
php7-pdo_sqlite-7.4.24-r0
|
||||||
php7-pear-7.4.23-r0
|
php7-pear-7.4.24-r0
|
||||||
php7-pecl-apcu-5.1.20-r0
|
php7-pecl-apcu-5.1.20-r0
|
||||||
php7-pecl-igbinary-3.2.4-r0
|
php7-pecl-igbinary-3.2.4-r0
|
||||||
php7-pecl-mailparse-3.1.1-r1
|
php7-pecl-mailparse-3.1.1-r1
|
||||||
php7-pecl-mcrypt-1.0.4-r0
|
php7-pecl-mcrypt-1.0.4-r0
|
||||||
php7-pecl-memcached-3.1.5-r2
|
php7-pecl-memcached-3.1.5-r2
|
||||||
php7-pecl-redis-5.3.4-r0
|
php7-pecl-redis-5.3.4-r0
|
||||||
php7-pgsql-7.4.23-r0
|
php7-pgsql-7.4.24-r0
|
||||||
php7-phar-7.4.23-r0
|
php7-phar-7.4.24-r0
|
||||||
php7-posix-7.4.23-r0
|
php7-posix-7.4.24-r0
|
||||||
php7-session-7.4.23-r0
|
php7-session-7.4.24-r0
|
||||||
php7-simplexml-7.4.23-r0
|
php7-simplexml-7.4.24-r0
|
||||||
php7-soap-7.4.23-r0
|
php7-soap-7.4.24-r0
|
||||||
php7-sockets-7.4.23-r0
|
php7-sockets-7.4.24-r0
|
||||||
php7-sodium-7.4.23-r0
|
php7-sodium-7.4.24-r0
|
||||||
php7-sqlite3-7.4.23-r0
|
php7-sqlite3-7.4.24-r0
|
||||||
php7-tokenizer-7.4.23-r0
|
php7-tokenizer-7.4.24-r0
|
||||||
php7-xml-7.4.23-r0
|
php7-xml-7.4.24-r0
|
||||||
php7-xmlreader-7.4.23-r0
|
php7-xmlreader-7.4.24-r0
|
||||||
php7-xmlrpc-7.4.23-r0
|
php7-xmlrpc-7.4.24-r0
|
||||||
php7-xmlwriter-7.4.23-r0
|
php7-xmlwriter-7.4.24-r0
|
||||||
php7-xsl-7.4.23-r0
|
php7-xsl-7.4.24-r0
|
||||||
php7-zip-7.4.23-r0
|
php7-zip-7.4.24-r0
|
||||||
pinentry-1.1.1-r0
|
pinentry-1.1.1-r0
|
||||||
popt-1.18-r0
|
popt-1.18-r0
|
||||||
procps-3.3.17-r0
|
procps-3.3.17-r0
|
||||||
@@ -217,7 +217,7 @@ shadow-4.8.1-r0
|
|||||||
skalibs-2.10.0.3-r0
|
skalibs-2.10.0.3-r0
|
||||||
sqlite-libs-3.35.5-r0
|
sqlite-libs-3.35.5-r0
|
||||||
ssl_client-1.33.1-r3
|
ssl_client-1.33.1-r3
|
||||||
tzdata-2021a-r0
|
tzdata-2021b-r0
|
||||||
unixodbc-2.3.9-r1
|
unixodbc-2.3.9-r1
|
||||||
utmps-0.1.0.2-r0
|
utmps-0.1.0.2-r0
|
||||||
whois-5.5.10-r0
|
whois-5.5.10-r0
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ param_usage_include_env: true
|
|||||||
param_env_vars:
|
param_env_vars:
|
||||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||||
- { env_var: "URL", env_value: "yourdomain.url", desc: "Top url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns)." }
|
- { env_var: "URL", env_value: "yourdomain.url", desc: "Top url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns)." }
|
||||||
- { 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` and `duckdns` validation only)" }
|
|
||||||
- { env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http`, `dns` or `duckdns` (`dns` method also requires `DNSPLUGIN` variable set) (`duckdns` method requires `DUCKDNSTOKEN` variable set, and the `SUBDOMAINS` variable must be either empty or set to `wildcard`)." }
|
- { env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http`, `dns` or `duckdns` (`dns` method also requires `DNSPLUGIN` variable set) (`duckdns` method requires `DUCKDNSTOKEN` variable set, and the `SUBDOMAINS` variable must be either empty or set to `wildcard`)." }
|
||||||
param_usage_include_vols: true
|
param_usage_include_vols: true
|
||||||
param_volumes:
|
param_volumes:
|
||||||
@@ -50,6 +49,7 @@ cap_add_param_vars:
|
|||||||
# optional container parameters
|
# optional container parameters
|
||||||
opt_param_usage_include_env: true
|
opt_param_usage_include_env: true
|
||||||
opt_param_env_vars:
|
opt_param_env_vars:
|
||||||
|
- { env_var: "SUBDOMAINS", env_value: "www,", desc: "Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this _exactly_ to `wildcard` (wildcard cert is available via `dns` and `duckdns` validation only)" }
|
||||||
- { env_var: "CERTPROVIDER", env_value: "", desc: "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt." }
|
- { env_var: "CERTPROVIDER", env_value: "", desc: "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt." }
|
||||||
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `aliyun`, `cloudflare`, `cloudxns`, `cpanel`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `domeneshop`, `gandi`, `gehirn`, `google`, `hetzner`, `inwx`, `ionos`, `linode`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `rfc2136`, `route53`, `sakuracloud`, `transip` and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
|
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `aliyun`, `cloudflare`, `cloudxns`, `cpanel`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `domeneshop`, `gandi`, `gehirn`, `google`, `hetzner`, `inwx`, `ionos`, `linode`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `rfc2136`, `route53`, `sakuracloud`, `transip` and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
|
||||||
- { env_var: "PROPAGATION", env_value: "", desc: "Optionally override (in seconds) the default propagation time for the dns plugins." }
|
- { env_var: "PROPAGATION", env_value: "", desc: "Optionally override (in seconds) the default propagation time for the dns plugins." }
|
||||||
@@ -78,17 +78,6 @@ optional_block_1_items: ""
|
|||||||
# application setup block
|
# application setup block
|
||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
app_setup_block: |
|
app_setup_block: |
|
||||||
> ### Migrating from the old `linuxserver/letsencrypt` image
|
|
||||||
> * If using docker cli:
|
|
||||||
> * Stop and remove existing container via `docker stop letsencrypt` and `docker rm letsencrypt`
|
|
||||||
> * Create new container using the sample on this page (container name: `swag`, image name: `linuxserver/swag`)
|
|
||||||
> * If using docker compose:
|
|
||||||
> * Edit the compose yaml to change the image to `linuxserver/swag` and change the service and container names to `swag`
|
|
||||||
> * Issue `docker-compose up -d --remove-orphans`
|
|
||||||
> * If you don't want to or can't use the option `--remove-orphans`, then you can first do `docker-compose down`, then edit the compose yaml as above, and then issue `docker-compose up -d`
|
|
||||||
|
|
||||||
> Make sure to also update any references to this container by name. For instance, Nextcloud's `config.php` references this container in its `trusted_proxies` directive, which would have to be updated to `swag`.
|
|
||||||
|
|
||||||
### Validation and initial setup
|
### Validation and initial setup
|
||||||
|
|
||||||
* Before running this container, make sure that the url and subdomains are properly forwarded to this container's host, and that port 443 (and/or 80) is not being used by another service on the host (NAS gui, another webserver, etc.).
|
* Before running this container, make sure that the url and subdomains are properly forwarded to this container's host, and that port 443 (and/or 80) is not being used by another service on the host (NAS gui, another webserver, etc.).
|
||||||
@@ -158,11 +147,17 @@ app_setup_block: |
|
|||||||
* Proxy sample files WILL be updated, however your renamed (enabled) proxy files will not.
|
* 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.
|
* You can check the new sample and adjust your active config as needed.
|
||||||
|
|
||||||
|
### 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).
|
||||||
|
|
||||||
app_setup_nginx_reverse_proxy_snippet: false
|
app_setup_nginx_reverse_proxy_snippet: false
|
||||||
app_setup_nginx_reverse_proxy_block: ""
|
app_setup_nginx_reverse_proxy_block: ""
|
||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { 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: "01.08.21:", desc: "Add support for ionos dns validation." }
|
||||||
- { date: "15.07.21:", desc: "Fix libmaxminddb issue due to upstream change." }
|
- { date: "15.07.21:", desc: "Fix libmaxminddb issue due to upstream change." }
|
||||||
- { date: "07.07.21:", desc: "Rebase to alpine 3.14." }
|
- { date: "07.07.21:", desc: "Rebase to alpine 3.14." }
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## Version 2021/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/ssl.conf
|
## Version 2021/09/19 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/ssl.conf
|
||||||
|
|
||||||
### Mozilla Recommendations
|
### Mozilla Recommendations
|
||||||
# generated 2020-06-17, Mozilla Guideline v5.4, nginx 1.18.0-r0, OpenSSL 1.1.1g-r0, intermediate configuration
|
# generated 2020-06-17, Mozilla Guideline v5.4, nginx 1.18.0-r0, OpenSSL 1.1.1g-r0, intermediate configuration
|
||||||
@@ -38,6 +38,7 @@ ssl_early_data on;
|
|||||||
# Optional additional headers
|
# Optional additional headers
|
||||||
#add_header Cache-Control "no-transform" always;
|
#add_header Cache-Control "no-transform" always;
|
||||||
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'";
|
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'";
|
||||||
|
#add_header Permissions-Policy "interest-cohort=()";
|
||||||
#add_header Referrer-Policy "same-origin" always;
|
#add_header Referrer-Policy "same-origin" always;
|
||||||
#add_header X-Content-Type-Options "nosniff" always;
|
#add_header X-Content-Type-Options "nosniff" always;
|
||||||
#add_header X-Frame-Options "SAMEORIGIN" always;
|
#add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
|
|||||||
@@ -312,6 +312,14 @@ else
|
|||||||
FILENAME="$DNSPLUGIN.ini"
|
FILENAME="$DNSPLUGIN.ini"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if the cert is using the old LE root cert, revoke and regen if necessary
|
||||||
|
if [ -f "/config/keys/letsencrypt/chain.pem" ] && ([ "${CERTPROVIDER}" == "letsencrypt" ] || [ "${CERTPROVIDER}" == "" ]) && ! openssl x509 -in /config/keys/letsencrypt/chain.pem -noout -issuer | grep -q "ISRG Root X"; then
|
||||||
|
echo "The cert seems to be using the old LE root cert, which is no longer valid. Deleting and revoking."
|
||||||
|
certbot revoke --non-interactive --cert-path /config/etc/letsencrypt/live/"$ORIGDOMAIN"/fullchain.pem --server $REV_ACMESERVER
|
||||||
|
rm -rf /config/etc/letsencrypt
|
||||||
|
mkdir -p /config/etc/letsencrypt
|
||||||
|
fi
|
||||||
|
|
||||||
# generating certs if necessary
|
# generating certs if necessary
|
||||||
if [ ! -f "/config/keys/letsencrypt/fullchain.pem" ]; then
|
if [ ! -f "/config/keys/letsencrypt/fullchain.pem" ]; then
|
||||||
if [ "$CERTPROVIDER" = "zerossl" ] && [ -n "$EMAIL" ]; then
|
if [ "$CERTPROVIDER" = "zerossl" ] && [ -n "$EMAIL" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user