¿Cómo puedo alojar más de un foro de Discourse en 1 VPS?

¡Hola! Me preguntaba si puedo alojar más de un Discourse en un solo VPS. Como soy principiante, ¿podrías darme instrucciones claras y paso a paso, por favor? Gracias.

¡Sí, puedes!

Sin embargo, este es un tema avanzado; necesitarás conocer estos conceptos básicos:

  • ¿Qué es un proxy inverso?
  • ¿Qué proxy inverso debo usar?
  • ¿Cómo configuro un host virtual en un proxy inverso?
  • ¿Cómo configuro un host virtual como proxy inverso para mi aplicación web?
  • ¿Cómo configuro una aplicación web para que funcione con un proxy inverso?
  • ¿Cómo configuro SSL al usar un proxy inverso?

@Aiden12114, ¿estás familiarizado con estos conceptos?

Si es así, ¡estás listo para empezar, seguro!

Lamentablemente, no tengo idea de lo que significa nada de eso :rofl:

Tienes dos opciones:

  • Multisitio: más complicado Multisite configuration with Docker
  • Múltiples contenedores: ligeramente complicado (requiere un proxy inverso, etc., como se mencionó anteriormente), más costoso.
    Sigue las instrucciones para configurar Discourse sin el script ./discourse-setup (cp samples/standalone.yml containers/app2.yml) y cambia el nombre de los volumes a algo distinto de standalone.

Creo que es importante compartir algunos datos técnicos con cualquier persona interesada o que esté tomando una decisión al respecto:

  • Un único contenedor de Discourse con múltiples “sitios” por contenedor, o
  • Múltiples contenedores para cada “sitio” de Discourse.

Si utilizas el enfoque de “un solo contenedor, multisitio” y tienes 5 sitios de Discourse activos (o incluso 10), cuando reconstruyas tu contenedor o tengas un problema con el contenedor por cualquier motivo, tendrás 5 (o 10) sitios de Discourse fallando (o caídos) al mismo tiempo. Esto se debe a que tienes un único contenedor que soporta todos los “sitios”.

Si utilizas el enfoque de “múltiples contenedores” y tienes 5 sitios de Discourse activos (o 10), cuando reconstruyas un contenedor para uno de tus sitios o tengas un problema con un contenedor de sitio por cualquier motivo, tendrás 1 sitio de Discourse fallando (o caído). Esto se debe a que tienes un contenedor que soporta un único “sitio” (o dos si ejecutas contenedores separados de datos y de aplicación por sitio, como hacemos nosotros).

Además, debido a la forma en que Docker superpone y comparte todas las capas de solo lectura para cada contenedor (cuando se utiliza el controlador de almacenamiento Docker recomendado, overlay2) entre contenedores; solo una delgada capa superpuesta de lectura-escritura es única por contenedor (para archivos de registro, la caché, etc.), por lo que el uso de múltiples contenedores no ocupa mucho espacio adicional en disco gracias a cómo funciona OverlayFS.

Para más información sobre este interesante tema de cómo funciona el controlador de superposición de Docker (y cómo comparte bibliotecas entre contenedores), consulta amablemente:

Obviamente, la elección depende de cada administrador de sistemas sobre qué enfoque adoptar. Basándonos en nuestro análisis, hemos decidido optar siempre por el enfoque de múltiples contenedores; por las razones expuestas anteriormente (y algunas otras que aún no hemos discutido).

Esperamos que esto ayude.