Is there an existing issue for this?
Current Behavior
On a fresh SWAG installation, the generated /config/nginx/nginx.conf only includes site-confs/*.conf and never loads any files from config/nginx/proxy-confs, even when those proxy configuration files are present and enabled.
Expected Behavior
nginx.conf should include both:
include /config/nginx/site-confs/*.conf;
include /config/nginx/proxy-confs/*.conf;
so that proxy configurations are automatically picked up.
Steps To Reproduce
- Pull and run the latest
lscr.io/linuxserver/swag image, mounting an empty ./config folder.
- Allow the container to initialize and populate
./config/nginx/.
- Open
/config/nginx/nginx.conf.
- Observe that near the bottom of the file only the following block appears
include /config/nginx/site-confs/*.conf;
- No include statement for
/config/nginx/proxy-confs/*.conf is present.
Environment
- OS:Debian 12
- How docker service was installed: [distro's packagemanager](https://docs.docker.com/engine/install/debian/#install-using-the-repository)
CPU architecture
x86-64
Docker creation
services:
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- URL=yourdomain.url
- SUBDOMAINS=www,
- VALIDATION=http
- CERTPROVIDER= #optional
- DNSPLUGIN=cloudflare #optional
- EMAIL=<e-mail> #optional
- ONLY_SUBDOMAINS=false #optional
- EXTRA_DOMAINS=<extradomains> #optional
- STAGING=false #optional
volumes:
- ./config:/config
ports:
- 443:443
- 80:80 #optional
restart: unless-stopped
Container logs
swag | [migrations] started
swag | [migrations] 01-nginx-site-confs-default: executing...
swag | [migrations] 01-nginx-site-confs-default: succeeded
swag | [migrations] 02-swag-old-certbot-paths: executing...
swag | [migrations] 02-swag-old-certbot-paths: succeeded
swag | [migrations] done
swag | ───────────────────────────────────────
swag |
swag | ██╗ ███████╗██╗ ██████╗
swag | ██║ ██╔════╝██║██╔═══██╗
swag | ██║ ███████╗██║██║ ██║
swag | ██║ ╚════██║██║██║ ██║
swag | ███████╗███████║██║╚██████╔╝
swag | ╚══════╝╚══════╝╚═╝ ╚═════╝
swag |
swag | Brought to you by linuxserver.io
swag | ───────────────────────────────────────
swag |
swag | To support the app dev(s) visit:
swag | Certbot: https://supporters.eff.org/donate/support-work-on-certbot
swag |
swag | To support LSIO projects visit:
swag | https://www.linuxserver.io/donate/
swag |
swag | ───────────────────────────────────────
swag | GID/UID
swag | ───────────────────────────────────────
swag |
swag | User UID: 1000
swag | User GID: 1000
swag | ───────────────────────────────────────
swag | Linuxserver.io version: 4.1.1-ls390
swag | Build-date: 2025-06-16T17:39:43+00:00
swag | ───────────────────────────────────────
swag |
swag | Setting resolver to 127.0.0.11
swag | Setting worker_processes to 4
swag | generating self-signed keys in /config/keys, you can replace these with your own keys if required
swag | ....+.....+.+.....+.+.....+.+..+......+......+...+......+....+......+.....+....+...+.........+...+..+....+..+...+++++++++++++++++++++++++++++++++++++++*......+...+........+++++++++++++++++++++++++++++++++++++++*.+.+..+....+........+..................++++++
swag | ...+.+++++++++++++++++++++++++++++++++++++++*..+...+.+...........+.+...+...........+.........+......+......+.......+..+....+......+...+..................+++++++++++++++++++++++++++++++++++++++*............+...............+....+......+.................+.............+............+........+......+.+..+.......+........+.+...........+.+.....+....+......+.....+...............+.......+..+...+.......+...........+...+.+...+......+....................+....+...+........+.......+.....+.......+..+...+..........+......+.....+.........+.+.........+......+...........+...+............+.........+.+.....+.+........+..........+.........+..................+........+......+.+..+.+.....+.......+.........+...........+...+......+.+...+..+............+...+....+.........+.........+...+.....+..................+.+........+.+.....+.+.....+......+.............+..+...+.........+.+..+.........+...+.+.....+....+......+...........+..........+.....+.+........+....+..+.............+...........+.........+..........+......+......+......+..+...+.........+.+...+.....+.......+...+.........+..+.........+.......+........+.......+...+.................+............+.+.....+....+...+..+......+.+........+.......+...+........+.........+....+..+...+.......+.........+...+.....++++++
swag | -----
swag | Variables set:
swag | PUID=1000
swag | PGID=1000
swag | TZ=Europe/London
swag | URL=yourdomain.url
swag | SUBDOMAINS=www,
swag | EXTRA_DOMAINS=<extradomains>
swag | ONLY_SUBDOMAINS=false
swag | VALIDATION=http
swag | CERTPROVIDER=
swag | DNSPLUGIN=cloudflare
swag | EMAIL=<e-mail>
swag | STAGING=false
swag |
swag | Created .donoteditthisfile.conf
swag | Using Let's Encrypt as the cert provider
swag | SUBDOMAINS entered, processing
swag | Sub-domains processed are: www.yourdomain.url
swag | EXTRA_DOMAINS entered, processing
swag | Extra domains processed are: <extradomains>
swag | No e-mail address entered or address invalid
swag | http validation is selected
swag | Generating new certificate
swag | Saving debug log to /config/log/letsencrypt/letsencrypt.log
swag | Account registered.
swag | Requesting a certificate for yourdomain.url and 2 more domains
swag | An unexpected error occurred:
swag | Invalid identifiers requested :: Cannot issue for "<extradomains>": Domain name contains an invalid character (and 2 more problems. Refer to sub-problems for more information.)
swag | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /config/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
swag | ERROR: Cert does not exist! Please see the validation error above. The issue may be due to incorrect dns or port forwarding settings. Please fix your settings and recreate the container
Is there an existing issue for this?
Current Behavior
On a fresh SWAG installation, the generated
/config/nginx/nginx.confonly includessite-confs/*.confand never loads any files fromconfig/nginx/proxy-confs, even when those proxy configuration files are present and enabled.Expected Behavior
nginx.confshould include both:so that proxy configurations are automatically picked up.
Steps To Reproduce
lscr.io/linuxserver/swagimage, mounting an empty ./config folder../config/nginx/./config/nginx/nginx.conf.include /config/nginx/site-confs/*.conf;/config/nginx/proxy-confs/*.confis present.Environment
CPU architecture
x86-64
Docker creation
services: swag: image: lscr.io/linuxserver/swag container_name: swag cap_add: - NET_ADMIN environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - URL=yourdomain.url - SUBDOMAINS=www, - VALIDATION=http - CERTPROVIDER= #optional - DNSPLUGIN=cloudflare #optional - EMAIL=<e-mail> #optional - ONLY_SUBDOMAINS=false #optional - EXTRA_DOMAINS=<extradomains> #optional - STAGING=false #optional volumes: - ./config:/config ports: - 443:443 - 80:80 #optional restart: unless-stoppedContainer logs