May 28, 20251 yr I am a few days into my Unraid trial and have moved all my containers and VM's from Proxmox into my Unraid server. I have never had an issue with network performance or computer power out of the Xeon Dell host (32GB ECC RAM, 6 x 1TB NAS HDD for the array and 2 x 2TB enterprise SSD cache).I moved all of my Docker containers that used to be hosted on a Debian VM on Proxmox to native containers on Unraid and they all work fine apart from one, my Caddy reverse proxy. I have configured Unraid with a VLAN (id 50) that I was going to use for Docker containers as I found out the hard way that the default Bridge configuration does not allow containers to look up each other by container name ie. Docker DNS. The Docker containers use the custom bridge (br0.50) and I assign them static IP's (192.168.50.0/24 subnet) - this seems to work fine and they can look each other up by container name. All the containers seem to work fine apart from Caddy but only the reverse proxy of the Unraid UI itself which I have set up in the container. The Caddy server UI is on another VLAN, VLAN10, and has the IP address 192.168.10.10. It can route traffic to the 192.268.50.0 app subnet fine and visa-versa. From the command line of the Caddy docker container I can access the Unraid UI via wget and ICMP ping.When I try to browse to the Unraid UI via the reverse proxy I get lag of between 15s and 45s on every wss:// call ie. the 'Main' page when web sockets is loading the array page or the Docker page when its loading containers. I assume there will be issue on any web sockets backend that Caddy is reverse proxying.Now.... I do not want to use SWAG or Nginx Proxy Manager. Been there, done that and I use Caddy for various reasons including the fact it is awesome.The Caddy Docker container is not an official 'App', it is a custom container using my packaged version of Caddy (https://github.com/ilium007/caddy-microtech) which is simply Caddy built with an extremely popular module (plugin) named github.com/caddy-dns/cloudflare. This enables Caddy to do auto SSL cert management via Cloudflare DNS verification. Its worked fine for me for years at multiple sites including customer sites I manage on Proxmox.As a test I shut down all Docker containers and disabled on the Unraid box and downloaded the Linux amd64 Caddy binary with the exact same Cloudflare module included (you can do this on the Caddy website) and ran it from the Unraid root home directory and pointed at the exact same Caddy config file (Caddyfile) that the Docker container was running and guess what? The Caddy reverse proxy worked perfectly with the Unraid UI. This tells me the Caddy and WSS / web sockets works fine out of the box.So where is the issue? My Caddy Docker container (https://github.com/ilium007/caddy-microtech/pkgs/container/caddy-cloudflare) or the custom bridge (br0.50) or somewhere totally unrelated. I really want Unraid to work for me but I need web sockets reverse proxy support out of the Caddy reverse proxy container.Caddy with the Cloudflare module downloaded from Caddy website that worked fine:
May 28, 20251 yr Author It seems to be working now. Changes:Re-instated the br0.50 custom bridgeAdded Unraid br0.50 shim address (192.168.50.2) to the Caddy reverse proxy upstreamAllocated all Docker containers unique 192.168.50.0/24 IPsUnraid UI via reverse proxy now seems to be fine. I had really hoped to be able to use the default bridge so I didn't have to expose all ports on every container but the default bridge (for some reason) does not allow internal Docker DNS so I couldn't use container names in the Caddy reverse proxy upstreams config. I tested Caddy reverse proxy to Unraid UI using default bridge and that worked fine as well, it seems the issue was when setting the reverse proxy upstream to an IP in a different subnet.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.