You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ The architectures supported by this image are:
70
70
1. Certs that only cover your main subdomain (ie. `yoursubdomain.duckdns.org`, leave the `SUBDOMAINS` variable empty)
71
71
2. Certs that cover sub-subdomains of your main subdomain (ie. `*.yoursubdomain.duckdns.org`, set the `SUBDOMAINS` variable to `wildcard`)
72
72
*`--cap-add=NET_ADMIN` is required for fail2ban to modify iptables
73
-
* After setup, navigate to `https://yourdomain.url` to access the default homepage (http access through port 80 is disabled by default, you can enable it by editing the default site config at `/config/nginx/site-confs/default.conf`).
73
+
* After setup, navigate to `https://example.com` to access the default homepage (http access through port 80 is disabled by default, you can enable it by editing the default site config at `/config/nginx/site-confs/default.conf`).
74
74
* Certs are checked nightly and if expiration is within 30 days, renewal is attempted. If your cert is about to expire in less than 30 days, check the logs under `/config/log/letsencrypt` to see why the renewals have been failing. It is recommended to input your e-mail in docker parameters so you receive expiration notices from Let's Encrypt in those circumstances.
75
75
76
76
### Certbot Plugins
@@ -149,11 +149,13 @@ This will *ask* Google et al not to index and list your site. Be careful with th
149
149
150
150
Please follow the instructions [on this blog post](https://www.linuxserver.io/blog/2020-08-21-introducing-swag#migrate).
151
151
152
-
153
152
## Usage
154
153
155
154
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
156
155
156
+
>[!NOTE]
157
+
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
158
+
157
159
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
158
160
159
161
```yaml
@@ -168,7 +170,7 @@ services:
168
170
- PUID=1000
169
171
- PGID=1000
170
172
- TZ=Etc/UTC
171
-
- URL=yourdomain.url
173
+
- URL=example.com
172
174
- VALIDATION=http
173
175
- SUBDOMAINS=www, #optional
174
176
- CERTPROVIDER= #optional
@@ -195,7 +197,7 @@ docker run -d \
195
197
-e PUID=1000 \
196
198
-e PGID=1000 \
197
199
-e TZ=Etc/UTC \
198
-
-e URL=yourdomain.url \
200
+
-e URL=example.com \
199
201
-e VALIDATION=http \
200
202
-e SUBDOMAINS=www, `#optional` \
201
203
-e CERTPROVIDER= `#optional` \
@@ -218,22 +220,23 @@ Containers are configured using parameters passed at runtime (such as those abov
218
220
219
221
| Parameter | Function |
220
222
| :----: | --- |
221
-
|`-p 443`|Https port |
222
-
|`-p 80`|Http port (required for http validation and http -> https redirect) |
223
+
|`-p 443:443`|HTTPS port |
224
+
|`-p 80`|HTTP port (required for HTTP validation and HTTP -> HTTPS redirect) |
223
225
|`-e PUID=1000`| for UserID - see below for explanation |
224
226
|`-e PGID=1000`| for GroupID - see below for explanation |
225
227
|`-e TZ=Etc/UTC`| specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
226
-
|`-e URL=yourdomain.url`| Top url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns). |
228
+
|`-e URL=example.com`| Top url you have control over (e.g. `example.com` if you own it, or `customsubdomain.example.com` if dynamic dns). |
227
229
|`-e VALIDATION=http`| Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set). |
228
230
|`-e SUBDOMAINS=www,`| Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only) |
229
231
|`-e CERTPROVIDER=`| Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
230
232
|`-e DNSPLUGIN=cloudflare`| Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `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`. |
231
233
|`-e PROPAGATION=`| Optionally override (in seconds) the default propagation time for the dns plugins. |
232
234
|`-e EMAIL=`| Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). |
233
235
|`-e ONLY_SUBDOMAINS=false`| If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true`|
|`-e STAGING=false`| 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. |
236
238
|`-v /config`| Persistent config files |
239
+
|`--cap-add=NET_ADMIN`| Required for fail2Ban to be able to modify iptables rules. |
0 commit comments