You may not be aware of this, but as I write this, the site has been down for the past sixteen hours.
During some general reorganization of the Hartr.Net domain, I decided to relegate the blog portion to the blog. prefix instead of leaving it as the base domain. Helps to explain what it is; this lead down some fascinating and scary rabbit holes. Hopefully I can provide some guidance to help my users avoid these.
Ghost likes to run its own SSL via LetsEncrypt. That's where I first messed up: attempting to run LE directly results in some strange and unfixable behavior. Don't do it.
After that, I noticed that a CLI user can run ghost config url
to move from one DNS to another. Having screwed up the first step, this was already borked, but resulted in some confusing outputs from ghost doctor
. These should largely be ignored; it's very helpful.
Eventually I decided, screw it, let's update Node and Ghost to the latest possible versions. Maybe these ones have fixed the issues I'm stuck on. This resulted in two Node.Js installations on this machine, which caused additional headaches, searches through StackOverflow, et cetera. At this point I messed up some more stuff that I'm too embarrassed to describe here, mostly involving AWS Route53, and went to bed. These things usually look better after a few hours of sleep.
This morning, with the benefit of hindsight, I just restored an 8-day old backup copy, reconfigured the URL, and after messing around with some Nginx as written here, everything worked flawlessly. You can now see a lovely lock logo in the upper left and all my posts remain intact. Hooray DigitalOcean!
It's worth noting that education is never free. It involves humbling moments, frustration, and typically some combination of money and/or time. But it's always worthwhile to collate your experiences if for nothing more than the memory when it's fresh. Niels Bohr liked to say that an expert is someone who has made every mistake in a very narrow field. This weekend, I added to my collection of mistakes.
Cloud on!