¡Hola, este es mi primer tema! Soy Nelly Eggsy y estoy creando un sitio web utilizando Ghost y Discourse.
Suelo ser un usuario silencioso en los foros y leer los temas desde las sombras. Si me atasco, busco una respuesta en los foros y eso suele funcionar. Sin embargo, en esta ocasión me he quedado atascado y necesito ayuda.
Tras actualizar Discourse mediante la interfaz de administración, apareció el siguiente mensaje:
Estás ejecutando una versión antigua de la imagen de Discourse.
Las actualizaciones a través de la interfaz web están deshabilitadas hasta que ejecutes la última imagen.
Para hacerlo, inicia sesión en tu servidor mediante SSH y ejecuta:
cd /var/discourse
git pull
./launcher rebuild app
Seguí la guía sobre cómo actualizar Discourse y la imagen de Docker a la última versión usando comandos de consola. Sin embargo, no logré completar la actualización con éxito debido a un error.
Este es el mensaje de error que obtengo al ejecutar el comando ./launcher rebuild app:
> FAILED
> --------------------
> Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 671 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 themes:update assets:precompile'"]}
> 9c3a1b4a72818216aaafa5de742f7d1a325aa61497ea49f5b4f1660c6e503fd0
> ** FAILED TO BOOTSTRAP ** por favor, desplázate hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
> ./discourse-doctor puede ayudar a diagnosticar el problema.
Mi droplet de Digital Ocean tiene 2 GB de memoria / 50 GB de disco + 50 GB / SFO2 - Discourse en Ubuntu 20.04.
¡Gracias por tomarte el tiempo de leer mi publicación! Espero leer tu respuesta.
Esto es lo que veo justo encima del error “failed”:
rake aborted!
NameError: variable o método local no definido `name' para main:Object
/var/www/discourse/lib/tasks/assets.rake:251:in `rescue in block (2 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:240:in `block (2 levels) in <main>'
Causado por:
OpenURI::HTTPError: 401 Error: Clave de licencia no válida
/var/www/discourse/lib/file_helper.rb:63:in `block in download'
/var/www/discourse/lib/final_destination.rb:422:in `block (3 levels) in safe_get'
/var/www/discourse/lib/final_destination.rb:421:in `catch'
/var/www/discourse/lib/final_destination.rb:421:in `block (2 levels) in safe_get'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.2/lib/patches/net_patches.rb:19:in `block in request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.2/lib/mini_profiler/profiling_methods.rb:46:in `step'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.2/lib/patches/net_patches.rb:18:in `request_with_mini_profiler'
/var/www/discourse/lib/final_destination.rb:393:in `block in safe_get'
/var/www/discourse/lib/final_destination.rb:437:in `block in safe_session'
/var/www/discourse/lib/final_destination.rb:434:in `safe_session'
/var/www/discourse/lib/final_destination.rb:385:in `safe_get'
/var/www/discourse/lib/final_destination.rb:134:in `get'
/var/www/discourse/lib/file_helper.rb:55:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:39:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:242:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:241:in `each'
/var/www/discourse/lib/tasks/assets.rake:241:in `block (2 levels) in <main>'
Tareas: TOP => assets:precompile
(Vea el rastreo completo ejecutando la tarea con --trace)
I, [2021-05-02T20:17:42.823237 #1] INFO -- : Descargando MaxMindDB...
Comprimiendo Javascript y generando mapas de origen
Aquí está la salida. He recortado gran parte de ella para que el foro me permita publicarla.
2021-05-03 00:32:20.635 UTC [63] postgres@postgres ERROR: la base de datos "discourse" ya existe
2021-05-03 00:32:20.635 UTC [63] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: la creación de la base de datos falló: ERROR: la base de datos "discourse" ya existe
I, [2021-05-03T00:32:20.639714 #1] INFO -- :
I, [2021-05-03T00:32:20.640335 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2021-05-03 00:32:20.760 UTC [74] postgres@discourse ERROR: el rol "discourse" ya existe
2021-05-03 00:32:20.760 UTC [74] postgres@discourse STATEMENT: create user discourse;
ERROR: el rol "discourse" ya existe
I, [2021-05-03T00:32:21.634456 #1] INFO -- : Archivo > /etc/service/redis/run chmod: +x chown:
I, [2021-05-03T00:32:21.640838 #1] INFO -- : Archivo > /etc/service/redis/log/run chmod: +x chown:
I, [2021-05-03T00:32:21.646998 #1] INFO -- : Archivo > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2021-05-03T00:32:21.648588 #1] INFO -- : Reemplazando daemonize yes por en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.650175 #1] INFO -- : Reemplazando (?-mix:^pidfile.*$) por en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.651303 #1] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2021-05-03T00:32:21.656597 #1] INFO -- :
I, [2021-05-03T00:32:21.657900 #1] INFO -- : Reemplazando (?-mix:^logfile.*$) por logfile "" en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.659157 #1] INFO -- : Reemplazando (?-mix:^bind .*$) por en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.660353 #1] INFO -- : Reemplazando (?-mix:^dir .*$) por dir /shared/redis_data en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.661652 #1] INFO -- : Reemplazando (?-mix:^protected-mode yes) por protected-mode no en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.662825 #1] INFO -- : Reemplazando # io-threads 4 por io-threads $redis_io_threads en /etc/redis/redis.conf
I, [2021-05-03T00:32:21.663908 #1] INFO -- : > echo redis installed
I, [2021-05-03T00:32:21.668192 #1] INFO -- : redis instalado
I, [2021-05-03T00:32:21.669144 #1] INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2021-05-03T00:32:21.679111 #1] INFO -- : logfile ""
I, [2021-05-03T00:32:21.680077 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-05-03T00:32:21.683045 #1] INFO -- : > sleep 10
167:C 03 May 2021 00:32:21.698 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
167:C 03 May 2021 00:32:21.698 # Versión de Redis=6.2.1, bits=64, commit=00000000, modificado=0, pid=167, recién iniciado
167:C 03 May 2021 00:32:21.699 # Configuración cargada
167:M 03 May 2021 00:32:21.700 * reloj monótono: POSIX clock_gettime
167:M 03 May 2021 00:32:21.702 * Modo de ejecución=standalone, puerto=6379.
167:M 03 May 2021 00:32:21.702 # Servidor inicializado
167:M 03 May 2021 00:32:21.703 # ADVERTENCIA: ¡overcommit_memory está establecido en 0! La copia de seguridad en segundo plano podría fallar en condiciones de baja memoria. Para solucionar este problema, agrega 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicia o ejecuta el comando 'sysctl vm.overcommit_memory=1' para que surta efecto.
I, [2021-05-03T00:32:41.096190 #1] INFO -- : > cd /var/www/discourse && bash -c "touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
terser '/var/www/discourse/public/assets/_vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js' -m -c -o '/var/www/discourse/public/assets/vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js' --source-map "base='/var/www/discourse/public/assets',root='/assets',url='/assets/vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js.map'"
****************************************************************************************************
#<Thread:0x000055a7feb17780 /var/www/discourse/lib/tasks/assets.rake:239 run> terminado con excepción (report_on_exception es true):
/var/www/discourse/lib/tasks/assets.rake:251:in `rescue in block (2 levels) in <main>': variable o método local 'name' no definido para main:Object (NameError)
from /var/www/discourse/lib/tasks/assets.rake:240:in `block (2 levels) in <main>'
/var/www/discourse/lib/file_helper.rb:63:in `block in download': 401 Error: Clave de licencia inválida (OpenURI::HTTPError)
¡Gracias! Eso parece funcionar, en cierto modo. Cuando visito la página de inicio del foro, me lleva a la página “¡Felicidades, has instalado Discourse!”. Aquí están mis preguntas:
¿Debo reinstalar el foro? ¿Se conservará mi contenido existente o se ha eliminado todo?
Parece que todo se borró, pero es probable que aún esté allí. ¿Fue esta tu primera actualización en un tiempo? ¿Se actualizó tu PostgreSQL? Mi mejor suposición es que algo salió mal en la actualización de PostgreSQL y necesitas renombrar postgres_old y empezar de nuevo. Hay algunos detalles en Actualización de PostgreSQL 13.
Jay, acabo de recordar que intenté mover las cargas y copias de seguridad al almacenamiento de bloques de DigitalOcean. Hace un momento, intenté hacerlo de nuevo y recibí el mensaje de error “Oops” al visitar la página de inicio:
Oops
El software que impulsa este foro de discusión encontró un problema inesperado. Pedimos disculpas por las molestias.
Se registró información detallada sobre el error y se generó una notificación automática. Lo revisaremos.
No es necesario realizar ninguna acción adicional. Sin embargo, si el error persiste, puedes proporcionar más detalles, incluidos los pasos para reproducir el error, publicando un tema de discusión en la categoría de retroalimentación del sitio.
## El contenedor Docker es sin estado; todos los datos se almacenan en /shared
volumes:
- volume:
host: /mnt/discourse-sfo2-01/shared/standalone
guest: /shared
- volume:
host: /mnt/discourse-sfo2-01/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/postgres_data_discourse
guest: /shared/postgres_data
Todos los comandos se ejecutaron con ./launcher rebuild app sin incidentes.
Lo siento a todos. Había olvidado que había hecho esto. Estoy seguro de que esto probablemente está causando los problemas.