Instalação avançada para desenvolvedor - bug ao executar rake db:create db:migrate

Olá a todos,

Espero que alguém possa me ajudar com o bug que estou enfrentando na minha tentativa de instalação, conforme descrito abaixo:

Debian 10
php 7.3.6
nginx

Estou seguindo este guia:

https://github.com/discourse/discourse/blob/master/docs/DEVELOPER-ADVANCED.md

Mas, sempre durante a migração do banco de dados, recebo o seguinte erro. Já tentei diferentes versões, e o problema persiste:

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate
rake aborted!NoMethodError: undefined method `keys' for nil:NilClass/var/www/discourse/app/models/global_setting.rb:57:in `load_defaults'/var/www/discourse/config/application.rb:32:in `<top (required)>'/var/www/discourse/Rakefile:5:in `require'/var/www/discourse/Rakefile:5:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `eval'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `<main>'

Também pesquisei por outros guias ou qualquer outra coisa na web, mas não encontrei nada sobre como corrigir esse erro ou como prosseguir com a instalação.

Tentei também o método de instalação via Docker, que funcionou na configuração inicial, MAS não é compatível com o ISPConfig que utilizo. Ao acessar o Discourse em um subdomínio, a página fica parcialmente quebrada e, após o registro da conta de administrador, o assistente não continua, exibindo apenas uma página em branco.

Agradeço antecipadamente e cordiais saudações,

Mat

Esse guia é destinado à configuração de ambientes de desenvolvimento… e não de servidores de produção. Para servidores, só damos suporte oficial aos nossos guias do Docker: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

Não acredito que seja confiável ou até mesmo possível instalar o Discourse em um servidor de produção usando um guia destinado a fins de desenvolvimento.


Talvez você possa tentar contornar o problema do provedor de internet ou tentar hospedar o Discourse com um provedor externo?

Obrigado pela rápida resposta.

Sobre o “guia”, era apenas para dar uma ideia — como mencionei, já tentei com o Docker, mas não consegui fazê-lo funcionar corretamente.
Já configurei o proxy reverso e tudo mais.

A configuração inicial foi feita sem problemas.
PORÉM, o Discourse quebrou o estilo e, após o registro do administrador, aparece apenas uma página em branco; o assistente não inicia nem continua. Também verifiquei no banco de dados e na aplicação Ruby: a conta de administrador está/estava ativa.

O ISPConfig me informou que isso não está relacionado ao painel deles, mas sim a um problema com o Discourse. Além disso, o Docker não é suportado pelo ISPConfig.

Acredito que o problema esteja nas configurações do vhost do Nginx, mas não sei qual parte preciso inserir no painel de controle do ISPConfig (algo semelhante ao que se faz, por exemplo, no Plesk). Já li os posts aqui e tentei várias coisas diferentes.

Por isso, tentei instalar sem o Docker, o que é possível, por exemplo, seguindo este guia: Install Discourse Forum on Ubuntu 18.04 Without Docker

Não será feito nada especial, pois o processo é semelhante ao da configuração padrão via Docker.

O que preciso de ajuda é — qual é o erro que ocorre durante a migração do banco de dados, conforme mencionado acima?

Não encontrei nada sobre isso na web e gostaria de usar o Discourse no meu site WordPress, pois seria a integração perfeita para comentários e suporte adicional.

Se tiver alguma ideia de como fazer o Discourse funcionar com Docker e ISPConfig, também seria ótimo — é meu próprio servidor e posso usá-lo da maneira que quiser.

O único problema geral é que preciso instalar o ISPConfig antes do Discourse, porque o ISPConfig exige um servidor limpo para funcionar 100% corretamente. Primeiro instalar o Discourse com Docker e depois tentar colocar o ISPConfig e o resto não é possível.

Obrigado desde já.

Veja Run other websites on the same machine as Discourse - #281

Será difícil e talvez impossível fazê-lo funcionar com o ispconfig. Se você deseja executar o Discourse com o ispconfig, deve procurar ajuda diretamente com o ispconfig.

Tentei seguir as instruções desta postagem “Rodando outros sites na mesma máquina que o Discourse” para fazê-lo funcionar com o Docker, mas após várias horas, sem sucesso.

Minha última ideia agora é fazer sem o Docker, pois o ISPConfig não oferece suporte ao Docker, mas preciso de ajuda em relação à mensagem de erro:

/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate

rake aborted! NoMethodError: método `keys’ não definido para nil:NilClass

/var/www/discourse/app/models/global_setting.rb:57:in load_defaults'/var/www/discourse/config/application.rb:32:in <top (required)>‘/var/www/discourse/Rakefile:5:in require'/var/www/discourse/Rakefile:5:in <top (required)>’/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in eval’/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `’

Tentei a versão 2.4 beta, que também seria instalada com o Docker, e outras versões diferentes do GitHub.

Obrigado antecipadamente.

O ISPConfig não é suportado pela comunidade do Discourse.

Nada de bom pode sair de usar uma instalação de desenvolvimento para um site de produção. Por US$ 5/mês, você pode simplesmente obter um droplet da Digital Ocean (ou similar) e ele funcionará.