FAILED -------------------- Pups::ExecError: cd /var/www/discourse & su discourse -c ‘bundle exec rake db:migrate’ falhou com retorno #<Process::Status: pid 690 exit 1> Localização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’ exec falhou com os parâmetros {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]} 7027ff0ccd166f831f9728472676ad91704fdd4caa6833a219d44697e740acdc ** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma. ./discourse-doctor pode ajudar a diagnosticar o problema.
Ok, como posso identificá-los? Procurando pela palavra “error”? Se você me disser como executar o log, eu o anexarei. Sou novo no uso de servidores. Muito obrigado pela sua ajuda.
Desculpe, eu estava no trabalho. Este é o meu app.yml:
## este é o modelo de contêiner Docker Discourse autônomo e completo
##
## Após fazer alterações neste arquivo, você DEVE reconstruir
## /var/discourse/launcher rebuild app
##
## TENHA MUITO CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomente estas duas linhas se desejar adicionar Let's Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quais portas TCP/IP este contêiner deve expor?
## Se você quiser que o Discourse compartilhe uma porta com outro servidor web como Apache ou nginx,
## veja https://meta.discourse.org/t/17247 para detalhes
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.spanish"
## Defina db_shared_buffers para um máximo de 25% da memória total.
## será definido automaticamente pelo bootstrap com base na RAM detectada, ou você pode substituir
db_shared_buffers: "2048MB"
## pode melhorar o desempenho da classificação, mas adiciona uso de memória por conexão
#db_work_mem: "40MB"
## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
#version: tests-passed
env:
LC_ALL: es_ES.UTF-8
LANG: es_ES.UTF-8
LANGUAGE: es_ES.UTF-8
DISCOURSE_DEFAULT_LOCALE: es
## Quantas requisições web simultâneas são suportadas? Depende da memória e núcleos da CPU.
## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
UNICORN_WORKERS: 8
## TODO: O nome de domínio que esta instância do Discourse responderá
## Obrigatório. O Discourse não funcionará com um número IP simples.
DISCOURSE_HOSTNAME: EDITED
## Descomente se você quiser que o contêiner seja iniciado com o mesmo
## nome de host (-h option) especificado acima (padrão "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Lista de e-mails delimitados por vírgula que serão administradores e desenvolvedores
## na inscrição inicial, exemplo 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'EDITED'
## TODO: O servidor de e-mail SMTP usado para validar novas contas e enviar notificações
# ENDEREÇO SMTP, nome de usuário e senha são necessários
# AVISO o caractere '#' na senha SMTP pode causar problemas!
DISCOURSE_SMTP_ADDRESS: EDITED
DISCOURSE_SMTP_PORT: EDITED
DISCOURSE_SMTP_USER_NAME: EDITED
DISCOURSE_SMTP_PASSWORD: EDITED
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
DISCOURSE_SMTP_DOMAIN: EDITED
DISCOURSE_NOTIFICATION_EMAIL: EDITED
## Se você adicionou o modelo Let's Encrypt, descomente abaixo para obter um certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: EDITED
## O endereço CDN http ou https para esta instância do Discourse (configurado para puxar)
## veja https://meta.discourse.org/t/14857 para detalhes
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## A chave de endereço IP do MaxMind Geolocation para consulta de endereço IP
## veja https://meta.discourse.org/t/-/137387/23 para detalhes
DISCOURSE_MAXMIND_LICENSE_KEY: EDITED
## O contêiner Docker é sem estado; todos os dados são armazenados em /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Plugins vão aqui
## veja https://meta.discourse.org/t/19157 para detalhes
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-reactions
## Quaisquer comandos personalizados para executar após a construção
run:
- exec: echo "Início dos comandos personalizados"
## Se você quiser definir o endereço de e-mail 'De' para o seu primeiro registro, descomente e altere:
## Após receber o primeiro e-mail de inscrição, comente a linha novamente. Ela só precisa ser executada uma vez.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fim dos comandos personalizados"
A verdade é que nunca tive nenhum problema com a atualização. Eu não estava fazendo nada de estranho, apenas atualizei o sistema e recebi o aviso de que ocorreu um erro.
Está com problemas para executar uma migração de maio de 2021. Este site foi movido entre os canais de lançamento (beta/stable/tests-passed) ou restaurado de um backup em algum momento?
Lembro-me que migramos do mybb nessa data (21 de maio)
Sim, é verdade que hoje tentei recuperar um backup do início do mês para tentar ter uma cópia funcional antes do erro, mas quando cliquei em iniciar, apareceu uma tela de erro.
Obrigado pela sua resposta. Acho que meu problema está relacionado a um erro de banco de dados referente à migração dos fóruns. A reconstrução do aplicativo não funciona.
Verifiquei as Perguntas Frequentes e os manuais, mas não encontrei nenhuma solução.
Tenho alguns backups anteriores (acho que) ao erro, mas não consigo carregá-los porque o aplicativo não roda. Só consigo pensar em apagar tudo, fazer uma instalação limpa e carregar um backup…
Tendo um backup e considerando que não consigo executar o aplicativo (para restaurar o backup), o que posso fazer? Não vejo alternativa a não ser excluir o Docker e começar de novo?
O único tópico que encontrei com um problema semelhante foi Unable to login into discourse suddenly - #8 by Tarek_Khalil, e o conselho foi restaurar um backup de antes da confusão da migração, o que pode não ser a melhor opção no seu caso, pois já faz algum tempo.
Receio que erros de banco de dados estejam fora da minha área de especialização. @pfaffman e @RGJ normalmente são muito bons nisso (embora eu não saiba se eles já encontraram algo assim antes). Vocês têm algum truque na manga para isso?
De nada! Quando eu esvazio uma tabela, outra me dá um erro. Já esvaziei cerca de 3 tabelas… Devo continuar fazendo isso uma por uma? Muito obrigado pela sua ajuda.
Eu mesmo me respondo. Após esvaziar 7 tabelas (discourse_reactions_reactions, directory_columns, external_upload_stubs, associated_groups, user_associated_groups, group_associated_groups, discourse_reactions_reaction_users) o site está funcionando. Eu também restaurei o último backup!
Obrigado a todos pela ajuda! Tenham um bom fim de semana