¿De dónde viene %{base_url}?

Hola a todos,

Estoy ejecutando un contenedor de Discourse usando la imagen de Bitnami. El problema que experimento es que todas las plantillas usan example.com para la variable %{base_url} y no parece que pueda cambiar esto.

Creé un ticket de soporte en Bitnami, pero mientras buscaba, nunca encontré en ningún lugar de Internet nada sobre la variable base_url.

¿Alguien puede ayudarme a aclarar esto? Estoy muy confundido acerca de esta variable.

No admitimos instalaciones con imágenes de Bitnami. La recomendación es instalar Discourse siguiendo la guía de instalación estándar si desea soporte.

1 me gusta

Entiendo, pero eso está en la base, no es mi pregunta: ¿De dónde viene % {base_url} o dónde se basa? Ni siquiera puedo encontrar eso en la documentación o el foro de Discourse.

¿Cómo cambio la %{base_url} de example.com a mi propio nombre de dominio para que mis plantillas de correo electrónico se analicen como deberían?

Parece que algo salió mal con tu instalación si esto no se está completando con el dominio correcto.

Como se mencionó, puede ser más fácil para ti seguir la instalación estándar y restaurar una copia de seguridad si aún no has logrado averiguar qué salió mal.

1 me gusta

¿Por qué se está poblando y no simplemente se establece como una variable?

Parece que necesitas editar el YAML de Docker Compose antes de extraerlo: containers/bitnami/discourse/docker-compose.yml at main · bitnami/containers · GitHub (líneas 31 y 51)

Lo sé, pero cambiarlo después de la primera ejecución no lo soluciona, así que me pregunto si es necesario hacerlo desde la primera ejecución, ya que me gustaría saber si establece este host (nombre) de forma estática o no.

¿El contenedor Bitnami también compila Discourse completamente nuevo al actualizarlo, como el oficial?

La variable parece estar definida aquí:

La variable current_hostname se establece aquí:

La variable force_hostname se declara en la plantilla de configuración del sitio aquí:

Como está oculta, no se puede cambiar en la configuración de administrador. Como otras configuraciones del sitio, supongo que se almacenaría en la base de datos. Busqué en un volcado de base de datos de nuestra instancia y force_hostname no está configurado ni siquiera declarado. En nuestro YAML oficial del contenedor de Discourse, tenemos asignado DISCOURSE_HOSTNAME, pero supongo que esta es una configuración global, no una configuración del sitio, por lo que parece aplicarse de manera diferente.

current_hostname parece obtenerse de la conexión actual, es decir, dinámico. Pero no veo dónde se define exactamente, probablemente un módulo/gem externo:

No estoy seguro de lo que hace el contenedor Bitnami con la configuración DISCOURSE_HOST, por lo que al menos podrías buscar en tu base de datos force_hostname hasta que averigüemos más sobre cómo se almacena y aplica DISCOURSE_HOSTNAME del contenedor oficial.

¡Gracias por tu apoyo hasta ahora! Estaba, en comparación con tus hallazgos, pensando también en configurar mi instalación como multisitio único. Esto podría funcionar, pero es realmente una cuestión de intentar resolver cosas en las que siento que Bitnami no cambia nada en Discourse en sí; así que, ¿por qué este problema, de hecho?

Necesito revisar mis volcados (dumps).

No puedo encontrar esto en mis volcados de base de datos.

De acuerdo, actualmente no entiendo dónde/cómo ambas variantes de contenedor de Discourse aplican internamente el nombre de host basándose en el YAML del contenedor.

¿La composición del contenedor de Bitnami no incluye otro servidor web, sino que expone directamente el puerto web de Discourse? El contenedor oficial tiene otro Nginx delante de Discourse, algo de lo que en realidad quería deshacerme si fuera posible, ya que ya tenemos otro servidor web Apache fuera del contenedor.