I've finally decided to give my site/blog some love again. To start out, look at this:
Yep, I finally got SSL setup on here after many years of neglecting it. That's not all of the changes though.
Source on github
I finally put the source code for this site on github. There's not much that's really terribly interesting with it - it's just a plain ole Pelican static site generator setup. The most interesting thing is probably the Dockerfile that installs all of Pelican's dependencies, builds the static files for my site, moves them to the right place for nginx, and then cleans up the source & extra python libraries. I'm also thinking about hacking the Makefile to build & auto-tag the container for me.
Running in a container
I mentioned the Dockerfile for this site previously so I'd assume you figured out that the site is now running in a container. It's nothing fancy - static site files being served by nginx in a container - but it's a start!
Traefik & Let's Encrypt
This part's pretty cool. I'm running a Traefik container as a reverse proxy to this website's container (and more in the future). The way that Traefik learns about where to route traffic is super near & the config is very minimal. I love it so far.
On top of that, Traefik is handling every bit of the SSL encryption for me. Once I had the config setup, it reached out to Let's Encrypt to get the certs and started serving them. It was super easy to setup. I just followed this guide.
Using Ansible to automate this
All of this has been automated via Ansible and it's awesome! I haven't made my ansible playbook source public yet since I need to potentially scrub some data but eventually I'll gladly share it!