Estou em dúvida se consigo resolver esse problema limpando o Redis ou atualizando-o; ele não foi modificado nos últimos 8+ meses. Nunca trabalhei diretamente com Redis, mas nossa instância Discourse de Tests-Pass foi configurada usando local_discourse em vez do Discourse Docker que agora é recomendado neste fórum. Os problemas que estou enfrentando estão relacionados ao e-mail não estar sendo enviado aos usuários. Qualquer ajuda e sugestão serão bem-vindas!
Sidekiq não está em execução. Muitas tarefas, como o envio de e-mails, são executadas de forma assíncrona pelo Sidekiq. Certifique-se de que pelo menos um processo Sidekiq esteja em execução.
Falha no teste de heartbeat do Sidekiq, reiniciando
Seria útil eu usar o launcher para reconstruir ou reiniciar o contêiner do Redis?
Uso: launcher COMANDO CONFIG [–skip-prereqs] [–docker-args STRING]
Comandos:
start: Inicializar/iniciar um contêiner
stop: Parar um contêiner em execução
restart: Reiniciar um contêiner
destroy: Parar e remover um contêiner
enter: Abrir um shell para executar comandos dentro do contêiner
logs: Exibir os logs do Docker de um contêiner
bootstrap: Preparar um contêiner para a configuração com base em um modelo
run: Executar o comando fornecido com a configuração no contexto da última imagem inicializada
rebuild: Reconstruir um contêiner (destruir o antigo, inicializar, iniciar o novo)
cleanup: Remover todos os contêineres que pararam há mais de 24 horas
start-cmd: Gerar o comando do Docker usado para iniciar o contêiner
Opções:
–skip-prereqs Não verificar pré-requisitos do launcher
–docker-args Argumentos extras para passar ao executar o docker
–skip-mac-address Não atribuir um endereço MAC
–run-image Substituir a imagem usada para executar o contêiner
Você instalou seguindo o guia de Instalação Padrão Oficial do Discourse ou de outra forma? Se você tem uma instalação padrão, então sim, executar ./launcher rebuild app provavelmente resolverá qualquer problema que você esteja enfrentando.
Ainda não, mas estamos definindo um horário para a migração. Nosso Discourse está em funcionamento há quase três anos e eu simplesmente não quero adicionar qualquer tempo de inatividade desnecessário. Nossa instância é totalmente mantida por voluntários, então tenho me dedicado a aprender a mantê-la no último mês. Se uma correção rápida do Redis ajudar (esse container está rodando há um ano sem alterações), eu gostaria de aplicá-la.
Se você não fez uma instalação padrão desde o início, é impossível saber o que pode resolver seu problema atual.
Recomendo configurar uma nova máquina virtual (VM) e realizar uma instalação de teste para garantir que tudo funcione. Ao fazer a transferência, você pode colocar o fórum antigo no modo somente leitura, fazer um backup, restaurá-lo na nova VM e alterar o DNS com quase nenhuma interrupção. (Haverá, na verdade, um pequeno período de indisponibilidade, pois será necessário reconstruir o sistema após a alteração do DNS para instalar o certificado do Let’s Encrypt).
Obrigado. O Let’s Encrypt deve ser realmente bem simples, já que foi configurado para ser apenas uma edição simples do proxy reverso do nginx. Bom saber, e é de se esperar que haja alguma indisponibilidade. Só precisamos agendar isso em um horário de menor movimento.
Estou prestes a migrar e restaurar o backup nas imagens oficiais. Há algo que eu deva saber sobre a limpeza de e-mails backup, etc., que poderiam spammar os usuários assim que o Sidekiq, etc., estiver funcionando corretamente? Obrigado!
Então, ao tentar seguir a documentação para instalar as imagens oficiais do Docker do Discourse, estamos enfrentando problemas. Concluímos que falta o contêiner do Redis, o contêiner de recebimento de e-mail e o contêiner de dados que tínhamos anteriormente no Docker.
Parece que nossa instalação anterior incluía: app.yml data.yml mail-receiver.yml redis.yml
Essa configuração com múltiplos contêineres difere das instruções básicas de instalação. Tenho um backup do nosso antigo /var/discourse para referência.
FAILED │················································································································
-------------------- │················································································································
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 645 exit 1> │················································································································
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn' │················································································································
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]} │················································································································
bbf0e57ac69f1febe2a5f149aa7e6e12541c3c23aaf199188fdf19d507254b58 │················································································································
** 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.
Parece que pulamos a etapa ./launcher bootstrap data ./launcher start redis
[Mon 11 May 2020 12:53:20 AM UTC] Executando comando de recarregamento: sv reload nginx │················································································································
fail: nginx: runsv não está em execução │················································································································
[Mon 11 May 2020 12:53:20 AM UTC] Erro de recarregamento para : │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Domínios não alterados. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Ignorando, próxima hora de renovação: Thu 09 Jul 2020 11:33:04 PM UTC │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Adicione '--force' para forçar a renovação. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Instalando chave em: /shared/ssl/discuss.noisebridge.info_ecc.key │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Instalando cadeia completa em: /shared/ssl/discuss.noisebridge.info_ecc.cer │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Executando comando de recarregamento: sv reload nginx │················································································································
fail: nginx: runsv não está em execução │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Erro de recarregamento para : │················································································································
run-parts: executando /etc/runit/1.d/remove-old-socket │················································································································
runsvdir iniciado, PID é 626 │················································································································
ok: run: redis: (pid 636) 0s │················································································································
chgrp: grupo inválido: 'syslog' │················································································································
ok: run: postgres: (pid 639) 0s │················································································································
rsyslogd: imklog: não foi possível abrir o log do kernel (/proc/kmsg): Operação não permitida. │················································································································
rsyslogd: falha na ativação do módulo imklog [v8.1901.0 tente https://www.rsyslog.com/e/2145 ] │················································································································
supervisor pid: 640 unicorn pid: 667
Isso está correto: os importadores configuraram isso para que você não envie 50.000 e-mails após uma migração. Ative o e-mail com cuidado nas configurações do seu site.