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)