Hoy instalé Discourse en un nuevo host, a través de Docker, más o menos siguiendo este hilo:
El documento preinstalación dice que se deben instalar Postgresql13+, Ruby 3.2+ y Redis 7.
O en realidad, solo dice “Requisitos de software”.
Tengo pg16 en ejecución e instalé Redis 7 a través de snap en Rocky 9.
Esencialmente copié los samples/standalone.yml y lo edité, agregué configuraciones del servidor de correo y cambios menores.
Cuando ejecuto docker ps o docker ps -a, solo veo 1 contenedor en ejecución, el contenedor local de Discourse.
Puede sonar a pregunta tonta, pero ¿el lanzador usa un contenedor pg y un contenedor redis o están utilizando las instalaciones pg y redis del host?
Ejecuta su propio postgres/redis dentro del contenedor Docker principal. No creo que realmente necesites Postgres, Ruby o Redis instalados en el host, pero puedo estar equivocado.
Entonces, la siguiente pregunta natural es: “¿cómo hago que use el pg y redis del host?”.
Sé que puedo hacer que pg y redis escuchen en la interfaz docker0, pero también supongo que debe haber alguna forma de configurar el contenedor de Discourse para que use la dirección IP de docker0 como la IP de pg y redis.
Me está costando encontrar “ese único lugar” para toda la documentación.
¿Quizás debería iniciar un nuevo tema? ¿Y dónde?
¿Hay alguna razón específica para que utilice el postgres del host? Discourse debería gestionar las actualizaciones de postgres por sí mismo por defecto, por lo que podrías terminar con una versión de postgres incompatible si utilizas el postgres del host.