I have just swapped out the old blog with an upgraded version. Several things were done:

  • Created a new Digital Ocean $5 droplet (the new $5 droplets have slightly better specs)
  • Simplified the blog deployment to use docker-compose instead of custom scripts
  • Switched to Ghost v1 (very different from 0.11 which I was running before)
    • Switched from MySQL to Sqlite, for easier deployment
  • Started a new branch for a personalized version of the standard "Casper" Ghost theme
  • Switch to nginx-proxy and letsencrypt-nginx-proxy-companion for the reverse proxy
    • Avoids manual interventions to renew the Let's Encrypt certificate
    • Automated the reverse proxy configuration

I'll try and write some more detailed posts on how to set this all up.

For now, please check all the "code" used to run this blog today:

And compare it to the previous setup: