Hoje instalei o Discourse em um novo host, via Docker, mais ou menos seguindo este tópico:
O documento de pré-instalação diz que Postgresql13+ Ruby 3.2+ e Redis 7 devem ser instalados.
Ou, na verdade, apenas diz “Requisitos de software”.
Eu tenho o pg16 rodando e instalei o Redis 7 via snap no Rocky 9.
Eu essencialmente copiei os samples/standalone.yml e o editei, adicionei configurações de servidor de e-mail e pequenas alterações.
Quando eu docker ps ou docker ps -a, eu vejo apenas 1 contêiner rodando, o contêiner local do Discourse.
Pode parecer uma pergunta boba, mas o launcher usa um contêiner pg e um contêiner redis ou eles usam as instalações pg e redis do host?
Ele executa seu próprio postgres/redis dentro do contêiner Docker principal. Não acho que você realmente precise ter Postgres, Ruby ou Redis instalados no host, mas posso estar enganado.
Então, a próxima pergunta natural é: “como faço para que ele use o pg e o redis do host?”.
Eu sei que posso fazer o pg e o redis escutarem na interface docker0, mas também imagino que deve haver alguma forma de configurar o container do Discourse para usar o endereço IP da docker0 como o IP do pg e do redis.
Estou tendo dificuldade em encontrar “aquele lugar” para toda a documentação.
Talvez eu devesse iniciar um novo tópico? E onde?
Existe um motivo específico para fazer com que ele use o postgres do host? O Discourse deve gerenciar as atualizações do postgres por conta própria por padrão, então você pode acabar com uma versão incompatível do postgres eventualmente se estiver usando o postgres do host.