Alguém tem experiência rodando dois containers Docker separados em vez do método secondsite?

Espere. Você clonou o Discourse duas vezes? Você quer clonar o Discourse uma vez e depois ter vários arquivos yml no diretório containers.

Talvez dê uma olhada em Use Nginx Proxy Manager to manage multiple sites with Discourse, embora https://hub.docker.com/r/jwilder/nginx-proxy seja o que eu usei. Você só precisa adicionar algumas variáveis de ambiente ao seu YML para que ele se conecte, mas ainda há um monte de coisas que você tem que entender para fazer funcionar.

Cada site tem seu próprio nome de host. Esse é o ponto de tudo isso, certo?

Eu tenho o proxy reverso falando com a porta 80 no contêiner. Outros preferem usar sockets. Você não deve expor nenhuma porta.

Não. Nenhum desses arquivos pode ser compartilhado.

Cada site precisa de um banco de dados postgres (pode estar no mesmo servidor postgres se você souber como fazer isso).

Cada site precisa de seu próprio redis. Eles não podem compartilhar redis, o que é uma vantagem da configuração multisite.

Se você quiser executar dois postgres, basta alterar o nome do host, smtp e os caminhos dos volumes e remover/comentar os templates ssl e letsencrypt. Você pode até usar discourse-setup se renomear app.yml para, digamos, hostname.yml antes de executar ./discourse-setup novamente.

1 curtida