O Discourse suporta múltiplas máquinas (cada uma com um único contêiner Docker) atrás de um balanceador de carga independente?
Preciso de uma configuração do Discourse para lidar com a falha de um servidor, então minha resposta padrão é configurar 3 servidores atrás de um balanceador de carga (com o LB gerenciando o certificado SSL).
Configurei servidores externos independentes de PostgreSQL e Redis para o Discourse. (Tudo isso está na Google Cloud Platform). Estou usando o lançador do Discourse para configurar o contêiner Docker apenas para web.
O Discourse suporta a execução de múltiplos contêineres quando cada contêiner está em uma máquina diferente?
Devo apenas copiar o contêiner Docker criado da primeira máquina para as outras máquinas?
Como são tratados os logotipos enviados?
Os logotipos enviados, favicons, etc., são armazenados no banco de dados?
Ok. Então, agora tenho um Discourse funcional em uma única máquina. Tenho outras duas máquinas. O volume compartilhado do Docker guest está apontado para um diretório NFS para permitir que todas as máquinas acessem os uploads (especialmente logotipos, etc.).
Copiei as imagens do Docker para as máquinas 2 e 3 (docker save -o app-image local_discourse/app e depois docker load -i app-image).
Eu tinha a impressão de que um simples ./launcher start app funcionaria, mas ele tenta verificar containers/app.yml.
Vou ter problemas se permitir que o app.yml seja verificado (e alterações feitas) no banco de dados a partir das máquinas 2 e 3?
Existe uma maneira melhor de ter três máquinas executando uma única configuração?
Use – acho que é ./launcher start-command app – na máquina totalmente configurada (a “máquina de build”) para obter uma linha de comando Docker completa
Copie o app.yml e faça o que você acabou de tentar (launcher start).