OK, después de unas horas de esfuerzo, logré volver a ponerlo en marcha.
Encontré un archivo app.yml antiguo y lo sustituí, simplemente eliminando las referencias antiguas a plugins que desde entonces se han incorporado a Discourse.
Este archivo app.yml más antiguo no contenía el código que encontré en uno posterior.
after_ssl:
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d www.nzarchitecture.net.nz --keylength"
No recuerdo haber puesto ese código yo mismo, aunque había configurado mi sitio para usar letsencrypt para los certificados de seguridad gratuitos, pero las instrucciones de Set up HTTPS support with Let's Encrypt no parecen requerir esas líneas en absoluto, así que no tengo idea de para qué habrían sido.
¿Podría algo más haber escrito esas líneas en app.yml? Por ejemplo, ¿podrían haberse agregado durante una actualización beta?
Al menos por ahora, con esas líneas eliminadas, mi sitio está funcionando de nuevo y actualizado.
Cuando mi certificado SSL actual expire, supongo que descubriré para qué eran esas líneas adicionales.