¡Hola!
Instalé Discourse en una máquina DigitalOcean recién creada usando estas instrucciones hace dos días y todo funcionó bien.
Ayer intenté instalar la aplicación una vez más, en una nueva máquina DigitalOcean (Ubuntu 18.03, 1 GB). Las VPS son idénticas, pero esta vez no funcionó.
Ejecuté ./discourse-setup, respondí a las preguntas y esperé. Mi terminal se congeló en la línea #<Thread:0x00005621595f3360@/var/www/discourse/lib/tasks/assets.rake:215 run> terminated with exception (report_on_exception is true):. La única forma de liberar la terminal fue cerrar la conexión SSH y volver a conectarme.
Solo tengo conocimientos básicos de Linux.
Actualizar el sistema con apt-get no hizo ninguna diferencia.
Descubrí que el instalador se queda colgado en la tarea assets:precompile. La excepción se originó en /var/www/discourse/lib/tasks/assets.rake:227:in rescue in block (2 levels) in <top (required)>': undefined local variable or method 'name' for main:Object (NameError).
El proceso de configuración escribe datos binarios en la consola, por eso se congela. Al profundizar, me di cuenta de que ocurre un error 403, pero no puedo encontrar la URL de destino.
Ejecuté setup en screen y grabé. Luego abrí el registro con xdd. Reemplacé dos fragmentos de datos binarios con <BINARY_DATA>
#<Thread:0x000055c07c7e8cf8@/var/www/discourse/lib/tasks/assets.rake:215 run> terminated with exception (report_on_exceptionis true):
/var/www/discourse/lib/tasks/assets.rake:227:in `rescue in block (2 levels) in <top (required)>':undefined local variable or method`name' for main:Object (NameError)
from /var/www/discourse/lib/tasks/assets.rake:216:in `block (2 levels) in <top (required)>' /var/www/discourse/lib/file_helper.rb:55:in `block in download':
403 Error:<BINARY_DATA> (OpenURI::HTTPError) <BINARY_DATA>
from /var/www/discourse/lib/final_destination.rb:400:in `block (3 levels) in safe_get'
from /var/www/discourse/lib/final_destination.rb:399:in `catch'
from /var/www/discourse/lib/final_destination.rb:399:in `block (2 levels) in safe_get'
from /usr/local/lib/ruby/2.6.0/net/http.rb:1518:in `block in transport_request'
from /usr/local/lib/ruby/2.6.0/net/http/response.rb:165:in `reading_body'
from /usr/local/lib/ruby/2.6.0/net/http.rb:1517:in `transport_request'
from /usr/local/lib/ruby/2.6.0/net/http.rb:1479:in `request'
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.0.2/lib/patches/net_patches.rb:9:in `block in request_with_mini_profiler'
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.0.2/lib/mini_profiler/profiling_methods.rb:39:in `step'
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.0.2/lib/patches/net_patches.rb:8:in `request_with_mini_profiler'
from /var/www/discourse/lib/final_destination.rb:371:in `block in safe_get'
from /var/www/discourse/lib/final_destination.rb:415:in `block in safe_session'
from /usr/local/lib/ruby/2.6.0/net/http.rb:920:in `start'
from /usr/local/lib/ruby/2.6.0/net/http.rb:605:in `start'
from /var/www/discourse/lib/final_destination.rb:412:in `safe_session'
from /var/www/discourse/lib/final_destination.rb:363:in `safe_get'
from /var/www/discourse/lib/final_destination.rb:129:in `get'
from /var/www/discourse/lib/file_helper.rb:47:in `download'
from /var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
from /var/www/discourse/lib/tasks/assets.rake:218:in `block (3 levels) in <top (required)>'
from /var/www/discourse/lib/tasks/assets.rake:217:in `each'
from /var/www/discourse/lib/tasks/assets.rake:217:in `block (2 levels) in <top (required)>'
El instalador ejecutó algunas tareas sin problemas. Al final del proceso aparecen:
FAILED--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile'
failed with return #<Process::Status: pid 384 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'..exec
failed with the params {"cd"=>"$home", "hook"=>"assets_precompile",
"cmd"=>["su discourse -c 'bundle exec rake assets:precompile'"]}
f534324ceedf6b1a8a5cc89f38e1c12c2418fb69c71f93f21c0dd2f5ef51483d
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one
./discourse-doctor may help diagnose the problem.
El comando ./discourse-doctor no ayuda. Doctor detecta que la aplicación no se ejecuta, intenta reconstruirla y también se queda colgado. No he instalado ningún plugin, porque nunca había ejecutado esta aplicación en esta máquina
Tu dirección IP está bloqueada para descargar la base de datos MaxMind.
Edita el archivo app.yml y agrega, bajo la clave de entorno DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 365, y luego intenta una reconstrucción.