Skip to content

[BUG] unraid swag + tailscale #581

@nodiaque

Description

@nodiaque

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When I enable tailscale for unraid, it says port 443 is already in used when trying to start swag. Even if I change port for tailscale for 9443, it still says it can't bind to 443

Expected Behavior

No response

Steps To Reproduce

Enable the tailscale, put port =8443

Environment

- OS: Unraid 7.0.1
- How docker service was installed: unraid template

CPU architecture

x86-64

Docker creation

unraid template

Container logs

=======================

Executing Unraid Docker Hook for Tailscale

Detecting Package Manager...
Detected Alpine Package Keeper!
Installing packages...
Please wait...
Packages installed!
Tailscale not found, downloading...
Please wait...
/tmp/tailscale/tail 100%[===================>]  31.05M  60.8MB/s    in 0.5s    
Download from Tailscale version 1.86.2 successful!
Installation Done!
Settings Tailscale state dir to: /config/.tailscale_state
Setting host name to "swag"
Starting tailscaled with log file location: /var/log/tailscaled
Starting tailscale

To authenticate, visit:

        https://login.tailscale.com/a##########

Success.
Some peers are advertising routes but --accept-routes is false
WARNING: Tailscale Key will expire in 179 days.
         Navigate to https://login.tailscale.com/admin/machines and 'Disable Key Expiry' for swag
See: https://tailscale.com/kb/1028/key-expiry
Enabling Serve! See https://tailscale.com/kb/1312/serve
Available within your tailnet:

https://swag.bone-goldeye.ts.net:8443/
|-- proxy http://localhost:82

Serve started and running in the background.
Starting container...

=======================

[mod-init] Running Docker Modification Logic
[mod-init] Adding linuxserver/mods:universal-docker to container
[mod-init] Downloading linuxserver/mods:universal-docker from lscr.io
[mod-init] Installing linuxserver/mods:universal-docker
[mod-init] linuxserver/mods:universal-docker applied to container
[mod-init] Adding linuxserver/mods:swag-auto-reload to container
[mod-init] Downloading linuxserver/mods:swag-auto-reload from lscr.io
[mod-init] Installing linuxserver/mods:swag-auto-reload
[mod-init] linuxserver/mods:swag-auto-reload applied to container
[mod-init] Adding linuxserver/mods:swag-auto-proxy to container
[mod-init] Downloading linuxserver/mods:swag-auto-proxy from lscr.io
[mod-init] Installing linuxserver/mods:swag-auto-proxy
[mod-init] linuxserver/mods:swag-auto-proxy applied to container
[mod-init] Adding linuxserver/mods:swag-dashboard to container
[mod-init] Downloading linuxserver/mods:swag-dashboard from lscr.io
[mod-init] Installing linuxserver/mods:swag-dashboard
[mod-init] linuxserver/mods:swag-dashboard applied to container
[mod-init] Adding linuxserver/mods:swag-maxmind to container
[mod-init] Downloading linuxserver/mods:swag-maxmind from lscr.io
[mod-init] Installing linuxserver/mods:swag-maxmind
[mod-init] linuxserver/mods:swag-maxmind applied to container
[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-swag-old-certbot-paths: skipped
[migrations] done
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support the app dev(s) visit:
Certbot: https://supporters.eff.org/donate/support-work-on-certbot

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    99
User GID:    100
───────────────────────────────────────
Linuxserver.io version: 4.2.0-ls401
Build-date: 2025-08-09T03:55:23+00:00
───────────────────────────────────────
    
using keys found in /config/keys
**** The following active confs have different version dates than the samples that are shipped. ****
**** This may be due to user customization or an update to the samples. ****
**** You should compare the following files to the samples in the same folder and update them. ****
**** Use the link at the top of the file to view the changelog. ****
┌────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
│  old date  │  new date  │ path                                                                   │
├────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
│ 2024-12-17 │ 2025-05-31 │ /config/nginx/nginx.conf                                               │
│ 2024-12-06 │ 2025-07-18 │ /config/nginx/ssl.conf                                                 │
│ 2024-12-17 │ 2025-07-18 │ /config/nginx/site-confs/default.conf                                  │
└────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘
Variables set:
PUID=99
PGID=100
TZ=America/New_York
URL=######.duckdns.org
SUBDOMAINS=wildcard
EXTRA_DOMAINS=
ONLY_SUBDOMAINS=false
VALIDATION=duckdns
CERTPROVIDER=
DNSPLUGIN=duckdns
EMAIL=####
STAGING=false

the resulting certificate will only cover the subdomains due to a limitation of duckdns, so it is advised to set the root location to use www.subdomain.duckdns.org
Using Let's Encrypt as the cert provider
SUBDOMAINS entered, processing
Wildcard cert for #####.duckdns.org will be requested
E-mail address entered: ########
dns validation via duckdns plugin is selected
Certificate exists; parameters unchanged; starting nginx
The cert does not expire within the next day. Letting the cron script handle the renewal attempts overnight (2:08am).
**** installing docker and docker compose ****
**** Applying the SWAG dashboard mod... ****
Copying over docker and docker-compose binaries
**** Remote docker service dockersocket will be used ****
error during connect: Get "http://dockersocket:2375/v1.51/containers/json?filters=%7B%22label%22%3A%7B%22swag%3Denable%22%3Atrue%7D%7D": dial tcp: lookup dockersocket on 100.100.100.100:53: no such host
**** Adding goaccess to package install list ****
**** adding libmaxminddb to package install list ****
**** swag-auto-reload deps already installed, skipping ****
**** libmaxminddb already installed, skipping ****
**** Applied the SWAG dashboard mod ****
[pkg-install-init] **** Installing all mod packages ****
fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
(1/2) Installing goaccess (1.9.4-r0)
(2/2) Installing libmaxminddb (1.9.1-r0)
Executing busybox-1.37.0-r18.trigger
OK: 191 MiB in 224 packages
Applying the maxmind mod...
Applied the maxmind mod
[custom-init] No custom files found, skipping...
MOD Auto-reload: Watching the following files/folders for changes (excluding .sample and .md files):
/config/nginx
[ls.io-init] done.
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address in use)
Server ready
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address in use)
nginx: [emerg] still could not bind()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions