Portainer Stack:
```yaml
---
version: "3.9"
services:
  swag:
    image: lscr.io/linuxserver/swag:${TAG-latest}
    container_name: swag
    network_mode: ${NET-bridge}
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=${PUID-1000}
      - PGID=${PGID-1000}
      - TZ=${TZ-Europe/Amsterdam}
      - URL=${DOMAIN}
      - VALIDATION=${VALIDATION}
      - EMAIL=${EMAIL}
      - SUBDOMAINS=wildcard
      - CERTPROVIDER=zerossl
      - DNSPLUGIN=cloudflare
      - DHLEVEL=4096
      - DOCKER_HOST=dockerproxy
      - DOCKER_MODS=linuxserver/mods:swag-dbip|linuxserver/mods:swag-auto-reload|linuxserver/mods:swag-cloudflare-real-ip|linuxserver/mods:swag-dashboard
    volumes:
      - /docker/nginx:/config
    ports:
      - 443:443
      - 80:80
    restart: ${RST-unless-stopped}
    labels:
      - com.centurylinklabs.watchtower.enable=${AutoUpdate-true}

  dockerproxy:
    image: ghcr.io/tecnativa/docker-socket-proxy:${TAG-latest}
    container_name: dockerproxy
    network_mode: ${NET-bridge}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: ${RST-unless-stopped}
    environment:
      - CONTAINERS=1
      - POST=0
    labels:
      - com.centurylinklabs.watchtower.enable=${AutoUpdate-true}
```

Environments:
```
NET=bridge
PUID=${PUID-1000}
PGID=${PGID-1000}
TZ=${TZ-Europe/Amsterdam}

URL=example.com
VALIDATION=DNS
EMAIL=your_real@email.com

RST=unless-stopped
AutoUpdate=true
TAG=latest
```
[More LinuxServer MODS](https://mods.linuxserver.io/?mod=swag)

