Quiero alojar cientos de instancias de Discourse

  1. Quiero alojar cientos de Discourse. ¿Es posible instalar múltiples Discourse en un solo hosting/Droplet? Con nombres de URL como: example.com/Ciudad1, example.com/Ciudad2, example.com/Ciudad3, etc. (Es decir, un Discourse separado para cada ciudad).

  2. Porque los subdominios son costosos para esto, ya que necesito más de 100 subdominios.

  3. ¿Cómo podemos copiar la configuración del foro a otro foro? Porque quiero aplicar la misma configuración a todos los Discourse.

  4. ¿Existe alguna forma de instalar complementos en múltiples instancias al mismo tiempo?

Quiero iniciar una plataforma social, pero se requieren instancias separadas por ciudad.

Quieres una instalación multisitio. Tiene los mismos complementos para todos los sitios.

Los subdominios no tienen costo. Solo necesitas un único registro DNS comodín. Será mucho más fácil usar subdominios. No estoy seguro de que el código de subcarpetas esté probado en multisitio.

Aunque muchos ajustes pueden configurarse mediante variables de entorno (aunque serían los mismos para todos los sitios, lo cual está bien para algunas cosas como S3, pero no para otras como los buzones POP), la mejor manera de aplicar ajustes a todos los sitios es probablemente mediante un complemento. También puedes ocultar ajustes de la interfaz web.

Si tienes un presupuesto, puedo ayudarte con todo esto.

Tengo nombres de dominio de GoDaddy y solo ofrecen un máximo de 100 registros, pero necesito alrededor de 500.
Esto se debe a que hay 500 distritos/ciudades.

¿Qué complemento?

Lo siento, no tengo mucho presupuesto para esto porque es trabajo social. Actualmente, planeo probarlo en una ciudad y luego debo recaudar fondos mediante donaciones.

Ya he dicho antes que esto suena como una manera costosa de hacerlo.

Si la configuración es la misma, ¿por qué tener 500 fuentes de correo electrónico separadas, 500 colas de moderación separadas, 500 copias de seguridad de Discourse separadas, etc.?

Porque los Problemas y Soluciones de cada distrito son completamente diferentes (las categorías son distintas y también el idioma). Hay más puntos…

He pensado en ello: ¿Puedo gestionar todo esto desde una sola instancia? Pero luego descubrí que no es una buena idea poner todos los distritos en un único Discourse.

Para una comprensión más práctica:
Si ponemos los 500 distritos en un único Discourse.
Si un distrito crea un tema por día como mínimo, eso significa 500 temas/día, y es una cantidad muy grande; los usuarios no pueden discutir adecuadamente porque la cantidad de temas es enorme. Habrá una tormenta de temas.

Hasta que necesites expandirte a múltiples instancias multisitio, un único registro A comodín es todo lo que necesitas. Otros proveedores de DNS no tienen ese límite.

Tendrías que escribirlo tú mismo.

Entonces, realmente no necesitas resolver el problema de las 500 ciudades ahora mismo. Te recomendaría usar un solo sitio por droplet para empezar. Hasta que tengas más de 5 ciudades, hay poca ventaja en usar multisitio.

Eso es correcto, voy por ese camino. Pero sé que tendré que enfrentar este problema, así que estoy buscando soluciones. No dependo completamente de las donaciones. Si no recibo donaciones durante mucho tiempo, puedo financiarlo con mi propia inversión; solo tengo que esperar un tiempo.

Actualmente, tengo un sitio de pruebas alojado en un Droplet de 2 GB de RAM de DigitalOcean. Allí descubrí que la instancia no utiliza tanta cantidad. Esto significa que es suficiente para una ciudad.
Pero pensé que si alojamos múltiples Discourse en un solo droplet con más RAM, si algún distrito no tiene tráfico, otro distrito podría usar esos recursos y esto me ahorraría algo de dinero, tal vez. Corrígeme si estoy pensando mal.

No recomiendo configurar un multisitio con menos de 4 GB de RAM, pero puedes consultar: Multisite configuration with Docker.

Por lo que puedo deducir de tus habilidades y necesidades, te recomendaría usar droplets de 1 GB para cada ciudad hasta que tengas al menos 5. Mientras tanto, puedes experimentar con multisitio en droplets que crees para pruebas y luego elimines.

Te recomiendo que esperes a tener un problema antes de intentar solucionarlo.

Muchas gracias @pfaffman