# linuxserver/docker-swag

Nginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention.

Repository: https://github.com/linuxserver/docker-swag
Canonical: https://ross.abutalabs.com/products/docker-swag
Homepage: https://docs.linuxserver.io/general/swag
Language: Dockerfile
License: GPL-3.0
License Family: copyleft
Topics: hacktoberfest
Last push: 2026-08-25T22:26:49+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 2221, "days_push": 8, "days_rel": 11, "gap_med": 4, "n_releases_24m": 158}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3714, forks 276 (observed 2026-08-28T04:08:15.323060+00:00)

## What it is
SWAG is a Docker image from LinuxServer.io bundling an Nginx webserver/reverse proxy with PHP support, a built-in Certbot client for automatic Let's Encrypt/ZeroSSL certificate generation and renewal, and fail2ban for intrusion prevention. It provides preconfigured proxy templates for exposing self-hosted services securely over HTTPS.

## Use cases
- set up a reverse proxy with automatic ssl certificates for my self-hosted apps
- securely expose home lab services over https with lets encrypt
- host a website with nginx and php in docker
- protect my web services from brute force attacks with fail2ban
- proxy multiple subdomains to different docker containers
- auto-renew ssl certificates for my domain
- put my jellyfin and sonarr behind https

## When to choose
- you want an all-in-one nginx reverse proxy with automated Let's Encrypt certs and fail2ban in a single container
- you run a LinuxServer.io-style self-hosted stack and want prebuilt proxy config templates
- you prefer docker-based deployment with PUID/PGID conventions and regular image updates

## When to avoid
- you need a lightweight proxy without TLS or PHP, where plain nginx, Caddy, or Traefik may be simpler
- you want a GUI for proxy management rather than editing config files
- you need features like built-in service discovery or dynamic upstream APIs offered by Traefik

## Facets
- artifact type: application
- maturity: active
- function: http-server, proxy, security, web-framework
- domain: self-hosted, web-development, security, networking
- platform: self-hosted
- tags: nginx, reverse-proxy, lets-encrypt, certbot, fail2ban, ssl-tls, php, docker-image, linuxserver, devops, docker, linux, web-server

## Member repositories
- linuxserver/docker-swag (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:15.323060+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:29:23.948184+00:00, confidence not recorded.
  - readme: https://github.com/linuxserver/docker-swag (fetched 2026-08-28T04:08:15.323060+00:00, sha 9423bb659445)
  - homepage: https://docs.linuxserver.io/general/swag (fetched 2026-08-29T09:24:15.066713+00:00, sha 93c11f78fa2c)
  - site_page: https://docs.linuxserver.io/FAQ (fetched 2026-08-29T09:24:15.077246+00:00, sha 5a0e76d24121)
  - site_page: https://docs.linuxserver.io/selkies/user-guide/quickstart (fetched 2026-08-29T09:24:15.079605+00:00, sha f382978bf06a)
  - site_page: https://docs.linuxserver.io/selkies/user-guide/installation (fetched 2026-08-29T09:24:15.081834+00:00, sha 91ea57ea106f)
  - site_page: https://docs.linuxserver.io/selkies/user-guide/installing-apps (fetched 2026-08-29T09:24:15.083777+00:00, sha c9ad9299432b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
