Installazione avanzata per sviluppatori: bug con rake db:create db:migrate

Gentili tutti,

spero che qualcuno sia in grado di aiutarmi con il bug che riscontro durante il mio tentativo di installazione, come segue:

Debian 10
php 7.3.6
nginx

Sto seguendo questa guida:

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

Ma durante la migrazione del database ricevo sempre il seguente errore. Ho anche provato diverse release, ma il problema è sempre lo stesso:

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

Ho cercato anche altre guide o qualsiasi altra risorsa sul web, ma non ho trovato nulla su come risolvere questo errore o su come procedere con l’installazione.

Ho anche provato il metodo di installazione tramite Docker, che ha funzionato durante la configurazione, MA non è compatibile con il mio ISPConfig: Discourse su un sottodominio risulta parzialmente rotto e, dopo la registrazione dell’account amministratore, la procedura guidata non prosegue e mostra sempre una pagina vuota.

Grazie in anticipo e cordiali saluti,

Mat

Quella guida è pensata per configurare ambienti di sviluppo… e non server di produzione. Per i server, supportiamo ufficialmente solo le nostre guide Docker: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

Non credo sia affidabile o addirittura possibile installare Discourse su un server di produzione utilizzando una guida destinata allo sviluppo.


Forse potresti provare a risolvere il problema legato al provider Internet o provare a ospitare Discourse con un provider esterno?

Grazie per la rapida risposta.

Riguardo alla “guida”, era solo per dare un’idea: come ho già menzionato, ho provato con Docker, ma senza successo nel farlo funzionare correttamente.
Ho configurato il reverse proxy e tutto il resto.

La configurazione è andata a buon fine senza problemi,
MA, Discourse si è rotto a livello di stile e, dopo la registrazione dell’amministratore, appare solo una pagina bianca; la procedura guidata non si avvia né prosegue. Ho controllato anche nel database e nell’app Ruby: l’account amministratore era attivo.

IspConfig mi dice che questo non è correlato al loro pannello, ma è un problema di Discourse; inoltre, Docker non è supportato da IspConfig.

Penso che il problema sia legato alle impostazioni del vhost di nginx, ma non so quale parte debba inserire nel pannello di controllo di IspConfig (simile a quanto avviene, ad esempio, con Plesk). Ho anche letto i post qui e provato diverse soluzioni.

Quindi ho provato a installarlo senza Docker, cosa che è possibile fare, ad esempio, seguendo questa guida: Install Discourse Forum on Ubuntu 18.04 Without Docker

Non verrà fatto nulla di speciale, poiché il processo è simile a quello della configurazione predefinita tramite Docker.

Ciò di cui ho bisogno è: qual è l’errore che si verifica durante la migrazione del database, come menzionato sopra?

Non riesco a trovare nulla a riguardo sul web e vorrei utilizzare Discourse per il mio sito WordPress, che sarebbe l’integrazione perfetta per i commenti e un ulteriore supporto.

Se avete un’idea su come far funzionare Discourse con Docker e IspConfig, sarebbe perfetto: è il mio server personale e posso usarlo in qualsiasi modo.

L’unico problema in assoluto è che DEVO installare IspConfig prima di Discourse, perché IspConfig necessita di un server pulito per funzionare al 100% correttamente. Prima Discourse con Docker e poi tentare di installare IspConfig e il resto non è possibile.

Grazie in anticipo.

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

Sarà difficile e forse impossibile farlo funzionare con ispconfig. Se desideri eseguire Discourse con ispconfig, dovresti chiedere assistenza direttamente a ispconfig.

Ho provato a seguire questa procedura dal post " Eseguire altri siti web sulla stessa macchina di Discourse" per farlo funzionare con Docker, ma dopo diverse ore non ho ottenuto alcun successo.

La mia ultima idea è ora quella di procedere senza Docker, poiché Docker non è supportato da ISPConfig, ma ho bisogno di assistenza riguardo al messaggio di errore:

/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 `’

Ho provato la versione 2.4 beta, che verrebbe installata anche con Docker, e diverse altre release da GitHub.

Grazie in anticipo.

ISPConfig non è supportato dalla comunità di Discourse.

Non può venire nulla di buono dall’eseguire un’installazione di sviluppo per un sito di produzione. Per 5 dollari al mese puoi semplicemente ottenere un droplet di Digital Ocean (o simile) e funzionerà.