Olá, este é o meu primeiro tópico! Sou Nelly Eggsy e estou construindo um site usando Ghost e Discourse.
Costumo apenas observar os fóruns e ler tópicos nas sombras. Se eu estiver travada, procuro nos fóruns por uma resposta e isso geralmente funciona. No entanto, estou travada agora e preciso de ajuda.
Após atualizar o Discourse pela interface de administração, apareceu a seguinte mensagem:
Você está executando uma versão antiga da imagem do Discourse.
As atualizações via interface web estão desativadas até que você execute a imagem mais recente.
Para isso, faça login no seu servidor usando SSH e execute:
cd /var/discourse
git pull
./launcher rebuild app
Segui o guia sobre como atualizar o Discourse e a imagem do Docker para a versão mais recente usando comandos de console. No entanto, não consegui concluir a atualização com sucesso devido a um erro.
Abaixo está a mensagem de erro que recebo ao executar o 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 ** please scroll up and look for earlier error messages, there may be more than one.
> ./discourse-doctor may help diagnose the problem.
Meu droplet da Digital Ocean tem 2 GB de memória / 50 GB de disco + 50 GB / SFO2 - Discourse no Ubuntu 20.04.
Obrigada por dedicar seu tempo para ler meu post! Aguardo sua mensagem.
rake aborted!
NameError: variável local ou método `name' não definido 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: Chave de licença invá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>'
Tarefas: TOP => assets:precompile
(Veja o rastro completo executando a tarefa com --trace)
I, [2021-05-02T20:17:42.823237 #1] INFO -- : Baixando MaxMindDB...
Comprimindo Javascript e Gerando Mapas de Origem
Acho que você vai precisar rolar um pouco mais para cima. Essa mensagem sobre a chave de licença é para o Maxmind, e não acho que seja esse o problema.
Aqui está a saída. Eu a reduzi bastante para que o fórum me permita postá-la.
2021-05-03 00:32:20.635 UTC [63] postgres@postgres ERROR: database "discourse" already exists
2021-05-03 00:32:20.635 UTC [63] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database "discourse" already exists
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: role "discourse" already exists
2021-05-03 00:32:20.760 UTC [74] postgres@discourse STATEMENT: create user discourse;
ERROR: role "discourse" already exists
I, [2021-05-03T00:32:21.634456 #1] INFO -- : File > /etc/service/redis/run chmod: +x chown:
I, [2021-05-03T00:32:21.640838 #1] INFO -- : File > /etc/service/redis/log/run chmod: +x chown:
I, [2021-05-03T00:32:21.646998 #1] INFO -- : File > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2021-05-03T00:32:21.648588 #1] INFO -- : Replacing daemonize yes with in /etc/redis/redis.conf
I, [2021-05-03T00:32:21.650175 #1] INFO -- : Replacing (?-mix:^pidfile.*$) with in /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 -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2021-05-03T00:32:21.659157 #1] INFO -- : Replacing (?-mix:^bind .*$) with in /etc/redis/redis.conf
I, [2021-05-03T00:32:21.660353 #1] INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2021-05-03T00:32:21.661652 #1] INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2021-05-03T00:32:21.662825 #1] INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /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 installed
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 is starting oO0OoO0OoO0Oo
167:C 03 May 2021 00:32:21.698 # Redis version=6.2.1, bits=64, commit=00000000, modified=0, pid=167, just started
167:C 03 May 2021 00:32:21.699 # Configuration loaded
167:M 03 May 2021 00:32:21.700 * monotonic clock: POSIX clock_gettime
167:M 03 May 2021 00:32:21.702 * Running mode=standalone, port=6379.
167:M 03 May 2021 00:32:21.702 # Server initialized
167:M 03 May 2021 00:32:21.703 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
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> terminated with exception (report_on_exception is true):
/var/www/discourse/lib/tasks/assets.rake:251:in `rescue in block (2 levels) in <main>': undefined local variable or method `name' for 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: Invalid license key (OpenURI::HTTPError)
Obrigado! Isso parece ter funcionado, de certa forma. Quando acesso a página inicial do fórum, ele me leva para a página “Parabéns, você instalou o Discourse!”. Aqui estão minhas perguntas:
Devo reinstalar o fórum? Meu conteúdo existente permanecerá ou tudo foi excluído?
Parece que tudo foi excluído, mas provavelmente ainda está lá. Foi sua primeira atualização após um tempo? Seu PostgreSQL foi atualizado? Minha melhor suposição é que algo deu errado na atualização do PostgreSQL e você precisa renomear postgres_old e começar novamente. Há alguns detalhes em Atualização do PostgreSQL 13.
Jay, eu (acabei de) me lembrar de que havia tentado mover os uploads e backups para o DigitalOcean Block Storage. Há momentos, tentei fazer isso novamente e recebi a mensagem de erro “Oops” ao visitar a página inicial:
Oops
O software que impulsiona este fórum de discussões encontrou um problema inesperado. Pedimos desculpas pelo inconveniente.
Informações detalhadas sobre o erro foram registradas e uma notificação automática foi gerada. Vamos analisar isso.
Nenhuma ação adicional é necessária. No entanto, se a condição de erro persistir, você pode fornecer detalhes adicionais, incluindo etapas para reproduzir o erro, postando um tópico de discussão na categoria de feedback do site.
## O contêiner Docker é stateless; todos os dados são armazenados em /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 os comandos foram executados com ./launcher rebuild app sem incidentes.
Peço desculpas a todos. Eu havia esquecido que fiz isso. Tenho certeza de que isso provavelmente está causando os problemas.