Autoalojamiento de Discourse con Docker compose

¡Hola a todos! :blush:

¡Espero que estéis todos bien! Tengo una pregunta sobre Discourse: ¿Es posible autoalojar Discourse? Estoy muy interesado en la plataforma y me encantaría saber si alguien aquí tiene experiencia con ella. ¿Hay algún requisito específico o algún consejo que deba tener en cuenta?

¡Gracias de antemano por vuestra ayuda! :folded_hands:

6 Me gusta

Sí, ¡y hay una subcategoría completa dedicada a ello!:

Documentation > Self-Hosting
Deberías leer específicamente la instalación estándar.

14 Me gusta

¡Muchas gracias por sus respuestas!

Me gustaría tener un archivo ‘docker-compose’ independiente que pueda lanzar y usar Discourse en nuestra asociación.

¿Es eso posible?

No me gusta ejecutar mil scripts en segundo plano que no conozco.

Sí, es posible, pero tendrías que escribirlo y mantenerlo tú mismo.

Aquí tienes un Dockerfile que alguien publicó recientemente para desarrollo y que podría servir como punto de partida:

Discourse es de código abierto. ¿Por qué no leer los scripts y plantillas del lanzador? (lo que también informaría a tu Compose).

3 Me gusta

Esto no es compatible, pero hay esfuerzos para mantenerse al día con Discourse principal. Puede buscar docker compose aquí, o visitar estas dos variantes:

Tenga cuidado, sin embargo, mantener Discourse entre versiones puede resultar difícil. Pero IndieHosters lo han estado haciendo durante algunos años.

Ambos proyectos utilizan la imagen docker original de Discourse/base, pero no estoy seguro de que estén adaptando la instalación como lo hace el pups de @sam para discourse-docker.

6 Me gusta

¡Gracias por sus respuestas!

Solo he instalado la imagen discourse/base, pero el contenedor salió sin registros.
La imagen muestra una interfaz de línea de comandos que muestra un contenedor llamado "discourse-container" en un entorno Docker, que recientemente salió sin procesos en ejecución.

¿Saben por qué?

Porque la imagen base no hace nada por sí sola. Necesitas compilar Discourse en ella y luego ejecutarlo. Y eso se hace ejecutando primero un script ./launcher fuera de la imagen. Así que primero deberías intentar instalarlo de la manera oficial y luego pensar en las opciones.

El procedimiento de instalación de Discourse no es muy común, pero a lo largo de los años me ha gustado mucho el enfoque por una razón, que solo apreciarás después de ser administrador durante algún tiempo. Y esa es la posibilidad de actualizarlo después de cada commit al código fuente. Es increíble. Informas de un Bug, después de 1 hora puede que sea abordado por el equipo o la comunidad, se ejecutan las pruebas automáticas y el commit se fusiona y está disponible. Y puedes actualizar de inmediato. Porque recompilas tu Discourse con el último código fuente.

Así que no hay una imagen donde se compile una versión específica. Obtienes una imagen “vacía” y compilas tu versión desde el punto que quieras y con la combinación de plugins que necesites. ¡Y todavía funciona!

No obtienes este tipo de flexibilidad en ningún otro lugar.

Así que no estoy seguro, pero si quieres crear un archivo docker compose, necesitarás replicar el procedimiento del script ./launcher dentro del archivo compose, para compilarlo en otra imagen, que luego simplemente puedes conectar. Pero no puedes usar el procedimiento incorporado cuando necesitas una actualización. Tendrás que ir y componer una nueva versión por tu cuenta.

4 Me gusta

Gracias por vuestra ayuda, chicos. ¡Hacéis que sea fácil para principiantes como yo usar Discourse!

Sí, pero antes de poner Discourse a disposición de mi club, quería ejecutar Discourse en el localhost y hacer algunas pruebas para poder familiarizarme mejor con la interfaz de administración y la línea de comandos de Discourse. Si ocurren errores, quiero poder solucionarlos. Para la versión ‘soportada’ necesito una entrada DNS, los puertos 443 y 80, lo cual es innecesario en mi caso, al menos eso creo.

¿Alguien conoce algún truco para ejecutar esto en el localhost?

1 me gusta

Instala Docker y haz solo esto.

1 me gusta

Sí:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

2 Me gusta

O eso. Aunque entendí que Max está interesado en saber cómo se comporta en producción, pero para probarlo localmente antes de comprar un entorno de alojamiento. Para eso, la configuración de Docker sería más apropiada. Para corregir errores, la configuración de desarrollo es la opción correcta.

4 Me gusta

¡Chicos, muchas gracias por vuestro apoyo!

Logré que funcionara con la instalación “normal” con docker.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.