Instalación avanzada para desarrolladores: error en rake db:create db:migrate

Estimados todos,

Espero que alguien pueda ayudarme con el error que tengo en mi intento de instalación, como se describe a continuación:

Debian 10
php 7.3.6
nginx

Sigo esta guía:

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

Pero siempre durante la migración de la base de datos obtengo el siguiente error. También he probado diferentes versiones y siempre ocurre el mismo problema:

/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>'

También he buscado otras guías o cualquier otra información en la web, pero no he encontrado nada que explique cómo solucionar este error o cómo continuar con la instalación.

También intenté la instalación mediante Docker, que funcionó durante la configuración, PERO no es compatible con mi ISPConfig: Discourse en un subdominio presenta errores parciales y, tras registrar la cuenta de administrador, el asistente no continúa y siempre muestra una página en blanco.

Gracias de antemano y un cordial saludo,

Mat

Esa guía está destinada a configurar entornos de desarrollo… y no servidores de producción. Para servidores, solo apoyamos oficialmente nuestras guías de Docker: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

No creo que sea confiable ni siquiera posible instalar Discourse en un servidor de producción usando una guía destinada a fines de desarrollo.


¿Quizás podrías intentar solucionar el problema del ISP o probar alojando Discourse con un proveedor externo?

Gracias por la rápida respuesta.

En cuanto a la “guía”, era solo para dar una idea: como mencioné, he intentado con Docker, pero no he logrado que funcione correctamente.
He configurado el proxy inverso y todo lo demás.

La configuración inicial fue correcta, sin problemas.
PERO, Discourse se rompió en cuanto al estilo; además, después del registro del administrador, solo aparece una página en blanco y el asistente no inicia ni continúa. He verificado también en la base de datos y en la aplicación Ruby: la cuenta de administrador estaba/está activa.

IspConfig me indica que esto no está relacionado con su panel, sino que es un problema de Discourse; además, Docker no es compatible con IspConfig.

Creo que el problema está relacionado con la configuración del vhost de nginx, pero no sé qué parte debo insertar en el panel de control de IspConfig (algo similar a lo que se hace, por ejemplo, en Plesk). También he leído las publicaciones aquí y he probado diferentes cosas.

Por ello, intenté instalarlo sin Docker, lo cual es posible, por ejemplo, siguiendo esta guía: Install Discourse Forum on Ubuntu 18.04 Without Docker

No se hará nada especial, ya que el proceso es similar al de la configuración predeterminada mediante Docker.

La ayuda que necesito es: ¿cuál es el error que ocurre durante la migración de la base de datos, como se mencionó anteriormente?

No he encontrado nada al respecto en la web. Me gustaría usar Discourse para mi sitio web de WordPress, ya que sería la integración perfecta para comentarios y soporte adicional.

Si tienes alguna idea sobre cómo hacer que Discourse funcione con Docker e IspConfig, sería perfecto. Es mi propio servidor y puedo usarlo de cualquier manera.

El único problema en general es que DEBO instalar IspConfig antes que Discourse, porque IspConfig necesita un servidor limpio para funcionar al 100 %. Primero instalar Discourse con Docker y luego intentar integrar IspConfig y el resto no es posible.

Gracias de antemano.

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

Será difícil y quizás imposible hacerlo funcionar con ispconfig. Si deseas ejecutar Discourse con ispconfig, debes pedir ayuda a ispconfig.

He intentado esto desde la publicación " Ejecutar otros sitios web en la misma máquina que Discourse" para que funcione con Docker, pero después de x horas, sin éxito.

Mi última idea es hacerlo sin Docker, ya que ISPConfig no lo admite, pero necesito ayuda con respecto al mensaje de error:

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

rake aborted! NoMethodError: método `keys’ no 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 `’

He probado la versión 2.4 beta, que también se instala con Docker, así como otras versiones diferentes de GitHub.

Gracias de antemano.

ISPConfig no es compatible con la comunidad de Discourse.

No se espera nada bueno al ejecutar una instalación de desarrollo para un sitio de producción. Por 5 $ al mes puedes obtener un droplet de Digital Ocean (o similar) y funcionará.