swag

swag

Docker app from linuxserver's Repository

Overview

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.

Runtime arguments

Network
bridge
Shell
bash
Privileged
false
Extra Params
--cap-add=NET_ADMIN

Template configuration

WebUIPorttcp

HTTPS port

Target
443
Default
443
Port: 80Porttcp

HTTP port (required for HTTP validation and HTTP - HTTPS redirect)

Target
80
Default
80
Port: 443Portudp

QUIC (HTTP/3) port. Must be enabled in the default and proxy confs.

Target
443
Default
443
AppdataPathrw

Persistent config files

Target
/config
URLVariable

Top url you have control over (e.g. `example.com` if you own it, or `customsubdomain.example.com` if dynamic dns).

Default
example.com
VALIDATIONVariable

Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set).

Default
http|dns
SUBDOMAINSVariable

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)

Default
www,
CERTPROVIDERVariable

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.

DNSPLUGINVariable

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`, `hetzner-cloud`, `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`.

Default
cloudflare
PROPAGATIONVariable

Optionally override (in seconds) the default propagation time for the dns plugins.

EMAILVariable

Optional e-mail address used for cert expiration notifications (Required for ZeroSSL).

ONLY_SUBDOMAINSVariable

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`

Default
false
EXTRA_DOMAINSVariable

Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org`

STAGINGVariable

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.

Default
false
DISABLE_F2BVariable

Set to `true` to disable the Fail2ban service in the container, if you're already running it elsewhere or using a different IPS.

SWAG_AUTORELOADVariable

Set to `true` to enable automatic reloading of confs on change without stopping/restarting nginx. Your filesystem must support inotify. This functionality was previously offered via mod(https://github.com/linuxserver/docker-mods/tree/swag-auto-reload).

SWAG_AUTORELOAD_WATCHLISTVariable

A pipe(https://en.wikipedia.org/wiki/Vertical_bar)-separated list of additional folders for auto reload to watch in addition to `/config/nginx`

PUIDVariable

Container Variable: PUID

Default
99
PGIDVariable

Container Variable: PGID

Default
100
UMASKVariable

Container Variable: UMASK

Default
022

Video

Download Statistics

90,356,161
Total Downloads
223,599
This Month
170,420
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
lscr.io/linuxserver/swag
Last Updated2026-05-02
First Seen2020-09-10

Run Swag on Unraid.

Swag is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.