Para ser totalmente honesto, no he realizado ningún mantenimiento manual en nuestra instalación de Discourse autoalojada desde hace muchísimo tiempo, y alguien más la configuró originalmente.
Necesité cambiar mis credenciales de SMTP, ya que SendGrid exige migrar de la autenticación básica a las claves de API.
Encontré este documento: Proveedores de correo recomendados para Discourse
Que indica:
Para cambiar el servicio de correo actual, también ejecute
./discourse-setup(esto dejará el foro fuera de línea durante unos minutos mientras se reconstruye).
Ejecuté ese comando, respondí las preguntas como se esperaba y esto generó unas 2.000 líneas de salida en stdout, finalizando con:
Actualización completada
----------------
Las estadísticas del optimizador no se transfieren mediante pg_upgrade, por lo que,
un vez que inicie el nuevo servidor, considere ejecutar:
./analyze_new_cluster.sh
Ejecutar este script eliminará los archivos de datos del clúster antiguo:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ACTUALIZACIÓN DE POSTGRES COMPLETADA
La base de datos antigua 10 se almacena en /shared/postgres_data_old
Para completar la actualización, vuelva a reconstruir utilizando:
./launcher rebuild app
-------------------------------------------------------------------------------------
cfd4df26701b4b4cd4a4202f30a9c8165a1ba609c921bffc25f250f52fee6cbe
Ahora, no esperaba que esto “actualizara” nada. Solo quería cambiar las credenciales de SMTP. Pero el sitio no se reinició automáticamente, así que hice lo que dice el texto “para completar la actualización” y ejecuté:
./launcher rebuild app
Esto activó otras ~8.000 líneas de salida en stdout. El sitio finalmente volvió a estar en línea, PERO no se ve igual:
- Mi logotipo desapareció y fue reemplazado por el logotipo de “Discourse”.
- Las imágenes de avatares de los usuarios estaban rotas. Eventualmente, comenzaron a funcionar nuevamente.
- Las imágenes en las publicaciones y los logotipos de las categorías estaban rotos. Estos aún no funcionan. Busqué imágenes con nombres de archivo coincidentes en el directorio
./discourse/shareY en nuestro bucket de S3 (donde la URL espera encontrarlas), pero no existen. - Las publicaciones de mi categoría “soporte”, que había ocultado de la página “más recientes”, ahora son visibles en esa página nuevamente.
- Mi categoría “soporte” ya no es visible en la página “categorías”.
- La página “categorías” ahora tiene 2 columnas, con las categorías a la izquierda y “más recientes” a la derecha. Creo que antes era solo una lista de categorías.
- El color del
+en mi botón+ Nuevo temacambió de blanco a gris.
En este punto, sospecho que se perdió alguna configuración, pero todas mis publicaciones están intactas. Luego sospecho que Discourse se actualizó a sí mismo (no sé desde qué versión, probablemente muchas versiones), y algunos ajustes predeterminados subyacentes, CSS, plantillas, etc., han cambiado, causando los problemas mencionados anteriormente.
Al ver el código fuente, puedo ver que la versión ahora es 2.6.0.beta6, que aparentemente se publicó hace solo 7 días.
Entonces, mis preguntas son:
- ¿Es normal tener que actualizar completamente el software de esta manera solo para aplicar un cambio de configuración simple, como las credenciales de SMTP?
- ¿Cómo puedo cambiar configuraciones o aplicar actualizaciones de seguridad sin actualizar todo el software?
- ¿Dónde están mis imágenes, o por qué ha cambiado su URL de alguna manera que las hace inaccesibles?
- ¿Existe alguna forma de revertir sin perder las nuevas publicaciones desde que ocurrió todo esto? Ni siquiera sé qué versión estábamos ejecutando antes. Sí tengo copias de seguridad de Discourse en S3 (solo un volcado SQL comprimido con gzip).
- ¿Solo necesito revisar todas las configuraciones y personalizaciones manualmente para solucionar cosas como el color de
+ Nuevo temay la categoría “soporte” oculta/visible?
Pensé que habíamos estado manteniendo instantáneas de EBS de nuestro volumen de EC2 donde se aloja Discourse, pero resultó no ser así. Desde entonces, he habilitado las instantáneas para que podamos revertir de esa manera en el futuro si es necesario.
Gracias.