Problemas con Discourse 3.5.0.beta2-dev - SMTP y trabajos en segundo plano

Sigo teniendo dificultades para instalar Discourse. Aquí tienes otro informe elaborado por ChatGPT. Creo que representa con precisión mi experiencia.


Informe: Problemas con la instalación de Discourse y servicio Sidekiq faltante

Contexto:
Intentamos una instalación limpia de Discourse en una instancia de Vultr, con la intención de configurar un despliegue estable y funcional. Sin embargo, encontramos problemas significativos, particularmente con servicios faltantes como Sidekiq, lo que impidió la entrega de correos electrónicos y el procesamiento de trabajos en segundo plano.


Resumen de los problemas encontrados

  1. Versión inesperada instalada
    • En lugar de la versión esperada v3.4.0.beta4-dev, la instalación se configuró por defecto en tests-passed, obteniendo una versión potencialmente inestable.
    • Faltaba el archivo VERSION, lo que hacía poco claro qué versión exacta se había instalado.
  2. Servicio Sidekiq faltante
    • El directorio /etc/service/sidekiq no estaba presente dentro del contenedor de Discourse.
    • Esto impidió que se ejecutaran todos los trabajos en segundo plano (correos electrónicos, notificaciones, tareas programadas).
  3. Problemas con el repositorio Git de Discourse
    • Ejecutar git rev-parse --abbrev-ref HEAD dentro del contenedor devolvió tests-passed, confirmando que se había instalado una versión no deseada.
    • Git arrojó un error de “propiedad dudosa detectada” (detected dubious ownership), que requirió intervención manual (git config --global --add safe.directory /var/www/discourse).
  4. Posibles problemas de dependencia
    • Incluso si se extrae una versión anterior de Discourse, existe la preocupación de que se obtengan dependencias más nuevas (Ruby, Redis, Sidekiq) durante la instalación, lo que podría causar problemas de compatibilidad.
    • Si las dependencias de Discourse no se fijan correctamente, la instalación puede comportarse de manera inconsistente entre entornos.
  5. Limitación de tasa de certificados SSL
    • Un intento de obtener un nuevo certificado SSL de Let’s Encrypt falló debido a que se superó el límite de tasa.
    • Esto provocó que Nginx no pudiera iniciarse, ya que no pudo cargar el archivo de certificado esperado.

Próximos pasos planificados

  1. Realizar un borrado completo y reinstalar
    • Eliminar /var/discourse por completo y volver a clonar el repositorio.
    • Extraer manualmente una versión estable (por ejemplo, v3.4.1) antes de ejecutar la instalación.
    • Usar ./discourse-setup en lugar de depender de los valores predeterminados para garantizar los parámetros correctos.
  2. Asegurar la instalación de Sidekiq
    • Antes de reconstruir, verificar que el servicio sidekiq esté incluido correctamente en el proceso de construcción.
    • Si Sidekiq falta después de la reconstrucción, verificar manualmente su instalación a través de bundle list | grep sidekiq.
  3. Fijar dependencias a versiones estables
    • Evitar problemas relacionados con dependencias utilizando explícitamente una imagen Docker de Discourse conocida y estable (por ejemplo, discourse/discourse:2.0.20240101).
    • Bloquear las versiones de gemas dentro del contenedor (bundle install --deployment --without test development).
  4. Reintentar la emisión del certificado SSL
    • Esperar el restablecimiento del límite de tasa de Let’s Encrypt y reintentar la generación del certificado SSL.
    • Si los problemas persisten, considerar el uso temporal de un certificado autofirmado para la resolución de problemas.

Solicitud de comentarios

Dados estos desafíos, agradeceríamos la opinión del equipo y la comunidad de Discourse sobre:

  • Sidekiq faltante en /etc/service/ en una instalación limpia – ¿Alguien más ha encontrado este problema?
  • Mejores prácticas para garantizar la estabilidad de las dependencias – ¿Existe una forma recomendada de fijar las versiones de las dependencias para las instalaciones de Discourse?
  • Posibles problemas con la instalación predeterminada de tests-passed – ¿Podría haber un problema con la forma en que se obtienen las versiones?

Cualquier información sería útil antes de proceder con la reinstalación. ¡Gracias de antemano!