De acuerdo, pude solucionar el error y reproducirlo.
Resumen
- Volver a una configuración de S3 previamente funcional y eliminar e instalar el componente DiscoTOC resulta en una instalación sin errores del componente.
- Desactivar S3 comentando todas las directivas de S3 en app.yml hace que el error vuelva a aparecer al instalar el componente, y supongo que en una actualización también volverá a aparecer.
- Configurar
DISCOURSE_USE_S3: falseno detiene a Discourse de usar rutas S3, esto parece ser un error o esta configuración no hace lo que creo.
Descripción Detallada
Inicialmente, lo que hice fue reiniciar mi configuración de minio, descomentar las opciones en mi app.yml, reconstruir la app y asegurarme de ejecutar la tarea s3:upload_assets. Cuando la página volvió a estar activa, fui a la sección de componentes. El componente DiscoTOC ya instalado aún mostraba el error, sin embargo, cuando lo eliminé y lo volví a instalar, el error no reapareció. Durante la instalación del componente DiscoTOC, se solicitó sprite.svg desde mi servidor S3.
Al intentar reproducir el problema, encontré un problema interesante. Parece que cuando dejo todas las directivas de S3 activas en mi app.yml, es decir, no comentadas, pero configuro DISCOURSE_USE_S3: false, el frontend del sitio no carga si minio no está en ejecución.
Quizás DISCOURSE_USE_S3: false no está diseñado para desactivar todo acceso a S3, supongo que lo hace por el nombre, pero claramente no es así. En cuanto reinicio el servicio de minio y actualizo el frontend, todo funciona bien. También puedo desinstalar e instalar el componente DiscoTOC sin que vuelva a aparecer el error en este estado. Esto parece ser al menos un posible fallo.
Aquí están los otros estados que me llevaron al error reproducible:
Para que mi sitio funcione sin minio en ejecución, comenté todas las entradas relacionadas con S3 en la configuración. Luego, reconstruí la app y ahora, sin minio en ejecución, la carga del frontend no presenta problema. Sin embargo, si desinstalo y vuelvo a instalar el componente DiscoTOC, el error aparece nuevamente. También intenté simplemente arrancar minio en este estado, pero el error volvió en la reinstalación, probablemente porque, al no haber ninguna directiva de S3 en app.yml, aunque intentara acceder a S3, usaría valores predeterminados en lugar de una configuración funcional. Sin embargo, parece que algunas imágenes aún intentan servir desde S3 incluso después de un posts:rebake, por ejemplo, 1531a70abda0d81d1a4039b6f3fa38bea79ef0de_2_180x180.png/xl.meta.