SSL with Docker Swarm, Let's Encrypt and Nginx

A couple of weeks ago, Let's Encrypt announced that support for wildcard certificates was coming in Jan 2018 which got me and my devops friends very excited. Currently with LE, you have to specify all the domains (including www) you want to include in the certificate which is really annoying. With wildcard certificates, this limitation will be gone and you'll be able to create one certificate for all the different subdomains. 🙌 Getting SSL to work with Docker and Let's Encrypt has been one of my short term goals recently. I started researching and found that there are some convoluted ways of doing it which involve tying in lots of other services into your stack which you don't need. 👎 I've found continue...

How does my stuff work?

I have a bit of a complex set up with all my sites and services, mainly due to using a multitude of different tools and languages to deploy different things. Currently, I have one main OVH server which most of my stuff is hosted on, including different database engines, Node.js and PHP apps. Static sites The first thing that traffic comes into contact with on my server is Nginx. It serves as an ultra lightweight traffic 'handler', whereupon it routes the incoming request to the appropriate location. I do this by using different Nginx config files for different domains. Here is an example: server { include /etc/nginx/mime.types; listen 80; listen [::]:80; # IPV6 server_name finnian.io; # compress continue...