Así que una actualización para quienes puedan estar teniendo el mismo problema (básicamente, no puedo restaurar desde una copia de seguridad y el servidor se bloqueó debido a una actualización fallida del sistema).
Por lo que entiendo, la causa raíz del problema es que hay cargas locales Y cargas S3, por lo que cuando la herramienta de restauración intenta restaurar, falla porque no sabe cómo manejar restauraciones locales y S3 al mismo tiempo (quizás sea hora de que Discourse revise las copias de seguridad/restauraciones).
Gracias a @RGJ por este consejo, sugirió forzar a Discourse a ignorar la carga S3 mientras restaura:
- Agrega una línea a tu
app.ymlDISCOURSE_ENABLE_S3_UPLOADS=false - Reconstruye Discourse
./launcher rebuild app - Intenta una restauración (ya sea desde la página de Copias de seguridad de la GUI o usando la CLI)
- Luego, después de restaurar, elimina esa línea de
app.ymly reconstruye una vez más.
Si bien esto funcionó, hay que tener en cuenta que el foro estaba muy dañado, las categorías, la configuración y las publicaciones se restauraron, sin embargo, todas las imágenes, enlaces, documentos incrustados, etc. estaban rotos y fallaron.
La solución de último recurso:
Logré rescatar el servidor antiguo y extraje el directorio /var/discourse (tar/gz) y lo copié en el nuevo servidor e hice un ./launcher rebuild app. Esto restauró completamente el funcionamiento del foro, sin embargo, el problema fundamental sigue ahí: las copias de seguridad NO funcionarán porque tienen una mezcla de cargas locales y S3.
Así que realmente necesito algún consejo sobre la mejor manera de solucionar este problema de una vez por todas. ¿Es mejor/más fácil mover todas las cargas de local a S3 o de S3 a local y cómo se hace? El propósito de una copia de seguridad es ayudar en situaciones como esta, pero me ha fallado, así que necesito que lo arregles.