DigitalOcean self-hosted breaks on v6.63 update

Hey folks! Hoping someone might be able to help out here. I run a Ghost install on a DigitalOcean droplet, and I’ve been trying to update it from v5.76 to v6 today. My problem: after updating to v6, Ghost appears to be working fine. “ghost -v” gives me 6.63, ghost status shows it’s running, I can log in and poke around in the control panel and stuff.

However, if Ghost ever gets stopped and restarted, everything stops working. One problem is that the config switches the “mysql” database string to “mysql2” on update which doesn’t appear to be a supported value, but even after that, I can’t get the web UI to reload correctly. Ghost shows that it’s running, I don’t get any errors in ghost doctor… I just get a cloudflare error page when I try to load the previously working site.

Anyone hit something similar? Thanks in advance.

mysql2 is correct for Ghost 6, the old mysql driver was dropped so ghost-cli rewrites that on purpose. If it looks unsupported to you, your ghost-cli is probably behind. Update it first (npm i -g ghost-cli@latest), then check your Node version, Ghost 6 needs 20 or 22 and a droplet that sat on 5.76 is likely still on 18.

The Cloudflare page just means Cloudflare can’t reach your droplet after the restart. Run ghost log and check the systemd unit still points at the right path and user. Going 5.76 to 6.63 in one jump skips a lot. Update ghost-cli, then ghost update 6.0.10 first, make sure it survives a ghost restart, then ghost update to latest.