Skip to content

Swag

Logo

Description

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.

Image

linuxserver/swag:latest

Categories

  • Uncategorized Services

Ports

  • 443:443/tcp
  • 80:80/tcp

Volumes

ContainerBind
/config/opt/appdata/swag

Environment Variables

NameLabelDefaultDescription
PUIDPUID1024for UserID
PGIDPGID100for GroupID
TZTZEurope/Amsterdamspecify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
URLURLyourdomain.urlTop url you have control over (`customdomain.com` if you own it, or `customsubdomain.ddnsprovider.com` if dynamic dns).
VALIDATIONVALIDATIONhttpCertbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set).
SUBDOMAINSSUBDOMAINSwww,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)
CERTPROVIDERCERTPROVIDER``````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.
DNSPLUGINDNSPLUGINcloudflareRequired if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynudns`, `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`.
PROPAGATIONPROPAGATION``````Optionally override (in seconds) the default propagation time for the dns plugins.
EMAILEMAIL``````Optional e-mail address used for cert expiration notifications (Required for ZeroSSL).
ONLY_SUBDOMAINSONLY_SUBDOMAINSfalse```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````
EXTRA_DOMAINSEXTRA_DOMAINS`````````Additional fully qualified domain names (comma separated, no spaces) ie. `extradomain.com,subdomain.anotherdomain.org,*.anotherdomain.org````
STAGINGSTAGINGfalseSet 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.

Labels

KeyValue
traefik.enabletrue
traefik.http.routers.swag.ruleHost(`swag.{$TRAEFIK_INGRESS_DOMAIN}`)
traefik.http.routers.swag.entrypointshttps
traefik.http.services.swag.loadbalancer.server.port443
traefik.http.routers.swag.tlstrue
traefik.http.routers.swag.tls.certresolverdefault
traefik.http.routers.swag.middlewarestraefik-forward-auth
mafl.enabletrue
mafl.titleSwag
mafl.descriptionSWAG - 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).
mafl.linkhttps://swag.{$TRAEFIK_INGRESS_DOMAIN}
mafl.icon.wraptrue
mafl.icon.color#007acc
mafl.status.enabledtrue
mafl.status.interval60
mafl.groupServices
mafl.icon.urlhttps://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/swag.gif

Licensed under the MIT License. Free for all use cases. For enterprise or academic support, please reach out to us.