Várias perguntas sobre instalação multisite

Eu estava me perguntando o que o valor db_id: 2 na configuração sugerida acima faz?

Além disso, qual é o procedimento para adicionar um novo site à configuração multissite existente? É apenas:

  • Atualizar yaml
  • ./launcher bootstrap multisite [1]
  • ./launcher start multisite

Eu estava me perguntando se havia uma maneira de evitar impactar todos os outros sites existentes fazendo um bootstrap ou reconstrução completa e, de alguma forma, apenas adicionar o banco de dados extra necessário?


  1. Eu tentei ./launcher rebuild multisite primeiro, mas isso parece falhar ↩︎

Acho que o ID do banco de dados não é mais necessário.

Você pode apenas editar o arquivo multisite com o novo site e fazer um

sv restart unicorn

E então migrar o banco de dados.

1 curtida

Você é um salva-vidas!

Eu estava sentindo falta deste comando para reiniciar (também tentei sv reload unicorn, mas de alguma forma isso não foi suficiente).

Em termos de criação do banco de dados, já existe uma maneira de fazer isso automaticamente? Seria bom ter rake db:create[mynewdbname]. Caso contrário, posso escrever um pequeno script shell.

No momento, eu crio manualmente (crio o banco de dados e defino as permissões) e depois faço um RAILS_DB=newdb rake db:migrate para popular.

E só para verificar se estou fazendo algo estúpido:

  • No momento, estou editando o arquivo multisite dentro do docker (/var/www/discourse/config/multisite.yml)
  • Criando o db manualmente
  • Executando rake db:migrate
  • sv restart unicorn
  • Eu também tenho que editar o arquivo yaml fora do docker para que a configuração multisite esteja em sincronia em caso de qualquer reconstrução ou atualização futura.

Estou sendo bobo editando a configuração multisite em 2 lugares diferentes quando já existe uma maneira de editar em um lugar e enviar as alterações?

1 curtida

É possível organizar um pouco esta documentação e fornecer mais orientações nela? Sou extremamente novo no Docker, para começar, e embora tenha experiência com servidores Linux, não sou um profissional nisso. Sou da velha guarda, adoro meus cron jobs e scripts shell e coisas estranhas assim com Apache multi site, etc. Mas isso é um pouco mais complexo e usa uma linguagem de programação diferente da que estou acostumado… Talvez até mesmo um vídeo demonstrativo de algum tipo? Seria bom se o Discourse fosse apenas preparado para multi site e, dessa forma, tudo o que você teria que fazer seria editar alguns arquivos, etc.

2 curtidas

Basta colar essa estrofe de texto e editá-la conforme necessário.

Você também precisará de um proxy reverso ou seguir Configurar Let’s Encrypt com vários domínios / redirecionamentos para obter certificados para todos os domínios.

Veja também Configuração de Multisite com Let’s Encrypt e sem Proxy Reverso. Mas isso precisa ser atualizado para ter outra linha necessária que você pode obter do link anterior. Eu estava querendo atualizá-lo, mas ainda não consegui.

1 curtida

Se eu estiver fazendo multisite, para onde devo apontar meu domínio? Para o mesmo IP do servidor (que hospeda outro fórum)?

Sim, aponte todos os domínios para o mesmo IP do servidor.
Configure um proxy reverso com Nginx ou Caddy server.
Caddy é o melhor, pois oferece certificados SSL automáticos gratuitos para todos os seus domínios.

1 curtida

Segui este tutorial para configurar com sucesso uma instalação multissite com Docker. Recentemente, encontrei um erro ao tentar atualizar e acredito que a linha:

    - exec: cd /var/www/discourse & sudo -E -u discourse bundle exec rake multisite:migrate

Deveria ser editada para:

    - exec: cd /var/www/discourse & sudo -H -E -u discourse bundle exec rake multisite:migrate

Alguém poderia confirmar/editar o tutorial?

1 curtida

Sim. Eu também encontrei isso. Você vai querer fazer essa alteração, caso contrário, seu bootstrap falhará.

2 curtidas