@chris what is nice about my configuration is that the SSL reverse proxy automatically reconfigures itself.
It works like this, when you bring up a container you use docker command to add labels to your container.. you put two labels.. one indicates the domain name you want to direct into this container (the point of a reverse proxy usually) and the port that exposes the raw http server the comtainer provides... thats all you need.. the reverse proxy stting in the swarm will automatically scan and find the labels and then reconfigure its reverse proxy to point incoming traffic to it. It will also automatically obtain a letsencrypt ssl certificate and use this ont he reverse proxy... then when your container comes down it likewise reconfigures.
If you want to use it I open-source it: