Es mejor que DigitalOcean y compañía, así que sí, es algo bueno.
Estaba bien, pero también he resaltado las limitaciones, los sitios tenían muy poco tráfico y poca actividad; si esperas una actividad significativa en esos sitios, necesitas más recursos, la utilización de recursos de Discourse aumenta a medida que recibes más actividad.
Esto realmente se reduce a si tienes la necesidad de aislar algunos sitios de otros o no. El alojamiento comercial de Discourse suele ser solo grandes clústeres multisitio con alguna salsa especial por encima para adaptarse a su sistema de facturación, etc.
Bueno, a menos que tengas alguna configuración avanzada implementada, todos los sitios compartirán las credenciales del sitio padre. Es decir, sin alguna configuración avanzada implementada, si el sitio padre está configurado para noreply@example.com como su correo electrónico de no respuesta. También será utilizado por todos los sitios hijo. Necesitarás alguna configuración adicional si deseas correos electrónicos únicos por sitio.
Depende en gran medida de lo que clasifiques como “problemas”.
Un único app.yml para multisitio es factible, pero recomendaría pasar a una instalación de 2 contenedores (web y datos separados) para un multisitio.
Tendrás que perseverar a través de algunos desafíos, cambiar las rutas en los archivos yml y luego iniciarlos. Esencialmente, como si /var/discourse-a tuviera su propia configuración y /var/discourse-b tuviera la suya.
Solo para señalar que estos son conceptos bastante técnicos, realmente necesitas algo de experiencia con Discourse y su funcionamiento interno para poder alojar multisitio. Si te sientes nervioso al respecto, considera un alojamiento administrado para Discourse o haz que alguien lo configure profesionalmente para ti. Esto reducirá significativamente tus dolores de cabeza con el tiempo. Considera publicar en Marketplace si tienes un presupuesto.
Sí, pero por eso decía que con el tiempo siempre puedo actualizar a un plan superior con más recursos. Nunca fue mi plan quedarme en ese… plan… por mucho tiempo. Solo estoy tratando de evitar costos innecesarios mientras pruebo las aguas, ¿sabes?
¿Puedes señalar algunas razones por las que querría tenerlos separados, aparte de los recursos del servidor? Por ahora, no veo una buena razón para tenerlos en servidores separados, pero siempre estoy dispuesto a aprender algunas perspectivas diferentes sobre cosas que aún no sé.
Ese es un punto muy interesante, que no sabía. Así que parece que es algo que se ha hecho y funciona. Bueno saberlo.
¿A qué te refieres con sitio principal? ¿No sería cada instalación independiente? ¿Cuál se consideraría el principal?
Estoy un poco confundido, porque cuando miro el archivo app.yaml, hay una parte dedicada al correo electrónico y las credenciales de Brevo. Dijiste que podría optar por tener archivos app.yaml individuales por comunidad. Entonces, ¿no significaría eso que cada comunidad tendría sus propias credenciales de Brevo, incluido el correo electrónico de notificaciones?
Cosas que me impedirán hacer copias de seguridad correctamente, o que los correos electrónicos de notificación no se envíen correctamente, cosas así. De nuevo, como no experto, y todavía nuevo en Discourse, hay cosas que otras personas podrían ver como un problema, pero yo aún no lo veo.
Sí, eso es lo que estaba pensando. Lo único compartido sería el servidor en sí. Todo lo demás funcionaría como una instalación separada, de ahí la pregunta sobre el correo electrónico, anteriormente.
Creo que los pasos más desafiantes para mí ya quedaron atrás, que fue sumergirme profundamente en la instalación de Discourse hace unos meses. No tenía ningún conocimiento sobre ello. Ni siquiera sabía lo que significaba “docker”. En este momento, tengo una perspectiva mucho más clara, aunque todavía me considero un “usuario básico de Discourse” en lo que respecta al autoalojamiento. Y con la ayuda de esta comunidad y de ChatGPT/Claude, he podido aprender un poco más y tomar notas sobre cómo funcionan y se instalan las cosas. Estoy bien con los desafíos, y seamos honestos: esto es realmente solo instalar software. No es que esté construyendo una bomba nuclear Si algo sale mal, borro todo, vuelvo a una instalación única por servidor. Todo bien
Como mencioné, ya tengo mi propia comunidad instalada, así que creo que la parte más difícil ya está superada. Soy bueno siguiendo instrucciones y haciendo preguntas, así que a medida que pruebo cosas, siempre puedo hacer una pausa y buscar información, tomar notas, etc.
Mi objetivo ahora es más comprender la mecánica, los pros y los contras, lo que es posible y lo que no, para poder tomar buenas decisiones de las que no me arrepienta más adelante y que me obliguen a dedicar demasiado tiempo a arreglar cosas, ¿sabes?
Así que, toda esta información que están compartiendo hoy es súper valiosa, porque me está dando una buena idea de qué considerar. Especialmente cuando mencionaste que el alojamiento administrado ofrecido por el equipo de Discourse es un multisitio. Eso realmente me hizo ver que esto es posible. Tal vez requiera algunos pasos adicionales, pero todo se puede hacer.
Primero tendrás que decidir si quieres un único multisitio o un único servidor que aloje varios sitios independientes. Me abstendré de responder a cualquiera de tus preguntas anteriores hasta que decidas entre uno y otro. Hay mucho que entender; el simple hecho de instalar Discourse en una máquina virtual no te hace automáticamente elegible para los problemas del multisitio; por ejemplo, a mí me llevó 3 años perfeccionar la experiencia de instalación del multisitio para mí. Es cierto que la documentación no era muy clara en muchas cosas y tuve que averiguar muchas cosas por mi cuenta para hacerlo bien. Y he estado usando Discourse desde 2016-17 (casi 9-10 años en este momento).
Así que, por favor, da un paso atrás y reconsidera lo que estás tratando de lograr y luego podremos centrarnos en lograrlo.
Una vez más, ten en cuenta que instalar Discourse no es el mayor obstáculo; todavía hay mucho que aprender e incluso después de 9 años de usar e implementar Discourse, todavía me considero aprendiendo cosas nuevas todos los días.
Siempre fue mi objetivo. No veo ninguna ventaja, para lo que estoy construyendo, en tener un solo multisitio. Mi objetivo es simplemente ahorrar costes utilizando un servidor con instalaciones independientes.
Y entiendo a qué te refieres con que las cosas son complejas. Por eso decía que, aunque pude instalarlo y ahora puedo entender algunos de los conceptos, me considero un usuario básico en lo que respecta a la instalación.
Después de hacer música durante casi 35 años, todavía estoy aprendiendo cosas nuevas todos los días, así que eso está bien. Estoy bien con aprender todos los días, y nunca espero no hacerlo Por eso estoy aquí en esta comunidad. Para aprender cosas nuevas con ustedes.
Así que si solo quieres tener múltiples sitios de Discourse en el mismo servidor, sin que compartan el código o el contenedor, esto es lo que puedes intentar:
Lee el app.yml cuidadosamente y comprende la sección de montajes (mounts). Necesitarás montajes diferentes y predecibles para cada sitio; como mínimo, tendrás que editar estos directorios manualmente.
La única vez que hice esto (y creo que lo hice de la manera más poco ergonómica) cloné el código de Discourse en dos directorios diferentes, lo cual puede no ser necesario, pero no lo he intentado, así que no estoy seguro.
En cada directorio ejecuté ./discourse-setup con algunas banderas para omitir la verificación de conectividad y la reconstrucción. Eso me dio archivos app.yml base. El siguiente paso fue editar ambos archivos manualmente; cambié los montajes, comenté la sección que exponía los puertos y agregué la plantilla web.socketed para que mi nginx externo se encargara del ssl y los reenvíos internos.
Luego fue tan simple como ejecutar ./launcher rebuild app en cada directorio.
Honestamente, no fui un gran admirador de esta configuración, así que me rendí después de unos meses de jugar con ella. Pero demuestra que lo que estás tratando de hacer es de hecho posible, solo que tienes que investigar un poco.
También podrías querer reducir el número de trabajadores (workers), etc., para dar a todos los sitios una oportunidad justa de usar los recursos, pero eso es un experimento mental para cuando hayas sentado las bases iniciales.
¡Gracias por la información detallada!
Todavía estoy considerando la mejor opción e incluso si termino usando esta opción, todavía necesito resolver algunas cosas.
[quote=“itsbhanusharma, post:30, topic:392692”]sección de montajes
[/quote]
¿Te refieres a esto? Porque cuando busqué la palabra “mount” (montaje), no apareció nada, pero asumí que estaba relacionado con los volúmenes.
Si es así, ¿es ahí donde creo diferentes rutas como
var/discourse/shared/website1
var/discourse/shared/website2
etc.?
[quote=“itsbhanusharma, post:30, topic:392692”]Cloné el código de discourse en dos directorios diferentes
[/quote]
Entonces, ¿básicamente realizaste una instalación normal en una de las rutas, por ejemplo:
var/discourse/shared/website1
luego copiaste esos archivos a
var/discourse/shared/website2
?
Si ese es el caso, ¿por qué ejecutar ./discourse-setup? ¿Eso no sobrescribiría los archivos?
¿No sería mejor simplemente realizar instalaciones normales en ambas rutas? ¿Como dos instalaciones completamente separadas? Para alguien como yo, especialmente cuando mencionas las “flags” y todo eso, son más cosas de las que tendría que preocuparme, y tal vez una instalación normal sería mejor, y luego editar manualmente los archivos app.yaml en cada ruta.
EDICIÓN: No importa. Investigué un poco y entiendo a qué te refieres con “clonar” en este contexto. Clonaste los archivos del repositorio. Pensé que estabas diciendo que instalaste todo en una “ruta” y luego copiaste esos archivos a otra “ruta”.
¿Ya tienes una instancia de Discourse en funcionamiento? Llevas un tiempo en este foro. ¿Estás intentando poner en marcha una segunda instancia en un servidor que ya tiene una instancia en funcionamiento?
La mejor manera de aprender es intentarlo. Configura un VPS barato e inténtalo. Si aún no tienes una instancia en funcionamiento, simplemente configura una instalación normal autohospedada con soporte y familiarízate con ella. No tendrás visitantes reales ni motivos para guardar nada. Simplemente puedes eliminar la instalación e intentarlo una y otra vez hasta que lo domines. Si configuras dos o incluso tres instancias ejecutándose en un único VPS y todas reciben (prácticamente) cero tráfico, apostaría a que el VPS más barato que existe probablemente podría ejecutarlas.
Si lo consigues, ¡publica un tutorial para que el resto de nosotros aprendamos!
Sí, la tengo. Quiero instalar instancias adicionales.
Como esta instalación es todavía nueva y ningún usuario se ha registrado, no hay problemas con eso. Haré una copia de seguridad primero e intentaré todo en este servidor. Todavía no hay un riesgo real.
Definitivamente lo haré. Espero que pueda ayudar a otros.
@itsbhanusharma Estaba haciendo algunas preguntas más a ChatGPT y a Claude, porque estaba pensando en cambiar el nombre de la ruta de la instancia actual de “discourse” al nombre del sitio web, como “nombre-del-sitio”, y ambos señalaron algunas cosas buenas. Una de ellas es que dado que cada instalación requiere 2 GB de RAM, si instalo 5 en total, por ejemplo, necesitaría 10 GB, ¿verdad?
Si ese es el caso, entonces este plan probablemente sería mejor:
Tengo múltiples incidentes de clientes que causan más daño que bien a sus sitios de discourse porque siguieron ciegamente los consejos de chatgpt.
Esto es un poco más matizado y el tipo de cosa que no es tan sencilla como sumar 2+2. Y esta es en gran parte la razón por la que optar por la ruta multisitio es una idea mejor.
Una vez más, te diría que pares, te tomes un descanso, des un paso atrás y reconsideres cuáles son tus necesidades. Hay buenos recursos disponibles aquí en meta y el único bot de IA en el que confiaría para obtener consejos sobre discourse es https://ask.discourse.org
Estoy de acuerdo, pero comprueba la información leyendo las fuentes que proporciona el bot. De esta manera, también te asegurarás de que no se inventó los enlaces (¡sucede!).
Eso es un poco extremo… Nadie sigue ciegamente los consejos de ChatGPT (al menos yo no), por eso estoy teniendo esta conversación con todos ustedes aquí.
Uso esas herramientas como herramientas. Mencionan cosas que me permiten ver otros puntos de vista, luego investigo en línea o hago preguntas aquí en la comunidad. Además, me muestran otros conceptos no estrictamente relacionados con Discourse, lo cual también es algo bueno. Las herramientas son tan buenas como la persona que las usa.
Y he hecho mucho usando consejos de ChatGPT y Claude. No podemos descartar todo lo que dicen… a ciegas
¿Te importaría compartir un poco más sobre esto? Si la información que dan ChatGPT / Claude es inexacta, tal vez puedas iluminarme a mí, así como a otros que puedan leer esto en el futuro.
No para mi caso, por algunas razones (y a menos que me esté perdiendo algo, aquí están):
Quiero poder hacer cambios personalizados, si es necesario, en cada instancia, sin afectar a las demás. No es que vaya a hacerlo, pero quiero saber que puedo si quiero.
En un multisitio, si el principal falla, todos fallan, ¿correcto?
Simplemente me gusta tener las cosas independientes. Me molesta la idea de que 4 o 5 instancias estén todas conectadas a algo que puede fallar en algún momento.
De nuevo, tal vez mi perspectiva sobre cómo funciona un multisitio sea incorrecta, pero por lo que entiendo, no parece ser una buena opción para mí.
En este momento, mis necesidades son:
Construir todas las comunidades que necesito
Gastar la menor cantidad de dinero posible, porque no sé si esas decisiones de construir esas comunidades serán buenas a largo plazo o no (he pasado por eso más de lo que me gustaría, gastando demasiado dinero en “experimentos”).
No conocía esta herramienta, así que gracias por compartirla. La he marcado.
Tengo que decir, sin embargo, que no deberíamos descartar ciegamente (lo siento, tuve que hacerlo de nuevo jaja) todo lo que dicen ChatGPT o Claude, incluso si el bot de IA de Discourse está más informado, lo cual creo que lo está con tanto contenido disponible sobre el tema. Yo también uso ChatGPT y Claude, porque a veces ciertas cosas no están solo relacionadas con Discourse y siempre me gusta aprender un poco más sobre otras cosas.
De todos modos, agradezco tus comentarios y tu tiempo. Ya me han ayudado mucho.
Por lo que puedo entender, estás sumido en pensar demasiado en tu configuración.
Fundamentalmente, no deberías perseguir las 1000 ideas brillantes de nuevas comunidades que tienes a la vez iniciando tantas instancias nuevas de Discourse (y por extensión, de cualquier otro software) como sea posible.
La construcción de comunidades es un proceso iterativo y necesita enfoque; si divides tu atención entre más de una comunidad a la vez, terminarás con más cosas de las que puedes manejar.
Mis sugerencias eran para reflexionar, como mencioné antes, cuando hice estos experimentos, eran solo eso, un grupo de amigos haciendo cosas porque podíamos.
¿Hay una (o dos) razón(es) por la que estas no son prácticas comunes? Estas conllevan una sobrecarga significativa de mantenimiento y gestión que te causará muchos dolores de cabeza y noches sin dormir más adelante, has sido advertido.
Dados tus objetivos, dejaría mi argumento con esta afirmación: lo que estás tratando de lograr no es imposible, pero hoy no es el día para lograr todo lo que es posible. Concéntrate en lo que tienes a mano, construye tu primera comunidad, el resto puede venir cuando llegue el momento.
En cuanto a aprender mediante la experimentación, si reducir costos es tu objetivo principal, la instalación multisitio es el camino a seguir, con todos los compromisos que presenta.
Entiendo lo que quieres decir, y créeme, si tuviera que construir todas las comunidades que necesito para todo en lo que estoy involucrado, no estaríamos hablando de 4 o 5, sino de unas 15.
Pude terminar con 3 que parecen ser realmente importantes y deberían construirse ahora. En este momento, las 3 necesitan su propio espacio para dar a los usuarios un lugar donde discutir sus experiencias con los productos y servicios que tengo o estoy construyendo.
Como dije, un multisitio donde todos dependen unos de otros, no me parece bien y, para ser honesto, los dolores de cabeza y las noches sin dormir que mencionas, son probablemente más propensos a existir en ese caso (al menos para mí y mi experiencia en otras áreas donde las cosas dependían unas de otras), en una configuración de multisitio. No sé… es uno de esos casos en los que mi instinto me dice “no lo hagas” y le estoy haciendo caso. Quizás esté equivocado y se me demuestre que lo estoy con el tiempo, pero confío primero en mi instinto.
De todos modos, gracias de nuevo por tu tiempo y ayuda. Lo aprecio
Este es un tema oportuno para mí, ya que estoy en proceso de ajustar mi propia configuración para ahorrar tiempo y dinero. Tengo tres sitios privados pequeños que reciben muy poco tráfico, pero todos son importantes para mí. También quiero poder crear más sitios para probar nuevas ideas. Así que el multisitio creo que será de mi interés.
Dicho esto, acabo de migrar uno de mis sitios de DigitalOcean a Hetzner y me sorprendió el ahorro de costes. Cuesta solo $3.49/mes por su oferta cx23 más pequeña, que resulta ser casi ideal para un solo sitio pequeño. Estaba pagando $15.60 en DigitalOcean por una configuración similar.
Habiendo leído este y otros temas relacionados, mi principal obstáculo con el multisitio es que quiero usar correo electrónico de entrega directa para todos mis sitios, utilizando el nombre de dominio del sitio como nombre de dominio del correo electrónico para que sea fácilmente reconocido y confiable por los miembros del sitio. Las instrucciones para configurar eso no parecen muy sencillas.
Así que por el momento estoy concluyendo que quizás sea mejor para mí seguir con sitios independientes y moverlos todos a Hetzner. Ahorraré dinero, pero no tanto tiempo considerando cuánto tiempo se pierde esperando al configurar sitios independientes.
Puedes hacer eso, pero solo si todos usan las mismas credenciales smtp.
Dado que tu nuevo Hetzner es mucho más barato, aun así saldrás ganando con tres sitios que con uno solo a la tarifa anterior.
No recomendaría multisitio con solo 1 GB de RAM, y es más complicado configurarlo, aunque la nueva configuración de entorno de alias de nombre de host resuelve uno de los mayores problemas.
El cx23 tiene 4gb de ram. Estoy moviendo mis otros dos sitios a sus servidores cx23 separados, así que veremos cómo resulta esto, pero mi sensación es que estará bien.
Estoy confundido por esto ya que mail-receiver es solo para recibir correo electrónico y no hay credenciales smtp.
¿Estás hablando de correo electrónico entrante o saliente? Con el correo saliente, ¿no tiene cada sitio sus propias credenciales smtp configuradas en app.yml?
No. El receptor de correo es independiente. Si estás utilizando multisitio, solo hay un archivo YML y ahí es donde se configuran las credenciales de envío SMTP. Si estás utilizando el receptor de correo, tienes un problema diferente, ya que necesitas un receptor de correo para cada sitio (al menos, esa es la única solución que he encontrado).