Discourse + servidor web. ¿Posible o mejor evitarlo?

@OrbitStorm

De hecho, Discourse es, en mi opinión, el mejor software de código abierto para foros y construcción de comunidades en el planeta en este momento, por muchas razones. Aquí hay algunas:

  1. Discourse es de código abierto, cuenta con una comunidad sólida y un equipo central de desarrollo muy inteligente (y capaz).

  2. Discourse está diseñado para ejecutarse en un contenedor Docker en producción, lo que ofrece muchas ventajas:

  • Discourse se puede implementar fácilmente en modo independiente sin necesidad de un servidor web o una base de datos externa.

  • Discourse se puede implementar fácilmente en modo de múltiples contenedores, lo que proporciona mayor fiabilidad y actualizaciones sin interrupciones.

  • Discourse también se puede implementar en configuraciones de alta disponibilidad utilizando Docker Swarm y Kubernetes, donde Discourse puede escalar hacia arriba y hacia abajo “bajo demanda”.

  • Discourse es fácil de respaldar y restaurar. Podemos tomar la copia de seguridad estándar de Discourse (incluida por defecto) y restaurarla en cualquier lugar del mundo en un contenedor Docker nuevo y virgen.

  1. Discourse funciona fácilmente detrás de servidores proxy inverso como Apache2 y nginx. Esto también tiene muchas ventajas, entre ellas:
  • Discourse puede ejecutarse en un servidor web existente, ya sea nginx o Apache2, con poco esfuerzo, tanto en puertos TCP/IP expuestos por Docker como en sockets de dominio UNIX.

  • Ejecutar aplicaciones basadas en la web detrás de proxies inversos es una práctica bien establecida. Esta configuración no es exclusiva de Discourse, pero Discourse brindará soporte.

  • Configurar SSL es muy sencillo detrás de un proxy inverso y puede ser tan simple como certbot -d mi.grande-discourse.site utilizando LETSENCRYPT, que es compatible y gratuito.

  1. Discourse está completamente documentado, commit a commit, en GitHub, por lo que cualquiera puede seguir los cambios en el código.

  2. Discourse tiene un modelo de negocio progresivo, que ofrece algunas ventajas clave, entre ellas:

  • Discourse, el software central y muchos excelentes complementos, temas y componentes, son gratuitos.

  • Discourse ofrece soporte gratuito, incluido el soporte de configuración estándar, en meta.

  • Discourse ofrece alojamiento comercial para aquellos que no desean autoalojarse o prefieren una gestión más “sin intervención”.

  • Discourse fomenta la consultoría comercial y el desarrollo de complementos en su comunidad, creando un ecosistema empresarial viable.

  1. Hay más, pero quiero cerrar esto.

¿Estamos (o estamos) de acuerdo con cada decisión tomada por el equipo central de Discourse, y ellos están de acuerdo con todas nuestras (o mis) ideas y sugerencias?

No, por supuesto que no; y no deberían estarlo, ni nosotros, ni yo. Somos libres de sugerir, enviar sugerencias de código, PRs, y el equipo central de Discourse abordará estas sugerencias con mente abierta.

Pero al final del día, el equipo central debe mantener a la comunidad de Discourse avanzando en una dirección cohesiva, lo cual no es fácil cuando cientos de personas de diferentes culturas desean una configuración diferente y tienen prioridades, modelos de negocio e ideas distintas.

En otras palabras, no hay nada que “evitar” (palabras del título de tu tema) en Discourse, especialmente configurar proxies inversos y dominar Docker. Muchos (incluido yo) nos estamos mudando a Kubernetes gracias a Discourse, no solo para Discourse, sino también para otras aplicaciones web.

Discourse es lo “más alejado” de ser “obstructivo” (de nuevo, tus palabras, no las mías); y debido a que está basado en contenedores, por diseño, “el cielo es el límite” para cómo los administradores de sistemas experimentados pueden implementar Discourse en entornos de producción altamente escalables; y también es lo suficientemente sencillo para que los principiantes puedan implementarlo fácilmente en modo independiente.

¿Necesito decir más?

Como dice la canción de REM (Losing My Religion):

Oh no, he dicho demasiado, lo he montado

Cerrando este tema… ¡Mucha suerte @OrbitStorm