2024
Discourse incident recovery
A fast recovery path for a Discourse instance returning a generic 500 error across every page.

The public error was not generous: every page returned a 500 with a generic apology. With SSH access still available, the useful recovery path was to rebuild the Discourse application from the host.
The important part was not sophistication. It was knowing where to stand, what command to run, and when to wait rather than interrupt a rebuild that looks stuck.