Site offline após reconstrução (4 de Fevereiro de 2025)

Vi esta mensagem após uma reconstrução recente. Em seguida, executei ./launcher rebuild app, mas depois disso, minha instância ficou inacessível. É uma instalação padrão — como posso determinar o que aconteceu?

erros quando executo ./launcher logs app

cd /var/discourse
./launcher logs app
x86_64 arch detectado.
run-parts: executando /etc/runit/1.d/00-ensure-links
run-parts: executando /etc/runit/1.d/00-fix-var-logs
run-parts: executando /etc/runit/1.d/01-cleanup-web-pids
run-parts: executando /etc/runit/1.d/anacron
run-parts: executando /etc/runit/1.d/cleanup-pids
Limpando arquivos PID obsoletos
run-parts: executando /etc/runit/1.d/copy-env
run-parts: executando /etc/runit/1.d/letsencrypt
[Ter Feb  4 05:38:16 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 05:38:16 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:28Z
[Ter Feb  4 05:38:16 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 05:38:17 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com.key
[Ter Feb  4 05:38:17 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com.cer
[Ter Feb  4 05:38:17 PM UTC 2025] Executando comando de recarga: sv reload nginx
aviso: nginx: impossível abrir supervise/ok: arquivo não existe
[Ter Feb  4 05:38:17 PM UTC 2025] Erro de recarga para :
[Ter Feb  4 05:38:17 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 05:38:17 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:33Z
[Ter Feb  4 05:38:17 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 05:38:18 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com_ecc.key
[Ter Feb  4 05:38:18 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com_ecc.cer
[Ter Feb  4 05:38:18 PM UTC 2025] Executando comando de recarga: sv reload nginx
falha: nginx: runsv não está em execução
[Ter Feb  4 05:38:18 PM UTC 2025] Erro de recarga para :
Iniciado runsvdir, PID é 567
ok: run: redis: (pid 577) 0s
ok: run: postgres: (pid 581) 0s
nginx: [aviso] extensão duplicada "wasm", tipo de conteúdo: "application/wasm", tipo de conteúdo anterior: "application/wasm" em /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 575 unicorn pid: 607
Desligando
run-parts: executando /etc/runit/3.d/01-nginx
ok: down: nginx: 1s, normalmente em execução
run-parts: executando /etc/runit/3.d/02-unicorn
(575) saindo
ok: down: unicorn: 0s, normalmente em execução
run-parts: executando /etc/runit/3.d/10-redis
ok: down: redis: 1s, normalmente em execução
run-parts: executando /etc/runit/3.d/99-postgres
ok: down: postgres: 0s, normalmente em execução
ok: down: nginx: 5s, normalmente em execução
ok: down: postgres: 1s, normalmente em execução
ok: down: redis: 3s, normalmente em execução
ok: down: cron: 0s, normalmente em execução
ok: down: unicorn: 4s, normalmente em execução
ok: down: rsyslog: 0s, normalmente em execução
run-parts: executando /etc/runit/1.d/00-ensure-links
run-parts: executando /etc/runit/1.d/00-fix-var-logs
run-parts: executando /etc/runit/1.d/01-cleanup-web-pids
run-parts: executando /etc/runit/1.d/anacron
run-parts: executando /etc/runit/1.d/cleanup-pids
Limpando arquivos PID obsoletos
run-parts: executando /etc/runit/1.d/copy-env
run-parts: executando /etc/runit/1.d/letsencrypt
[Ter Feb  4 05:58:32 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 05:58:32 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:28Z
[Ter Feb  4 05:58:32 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 05:58:32 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com.key
[Ter Feb  4 05:58:32 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com.cer
[Ter Feb  4 05:58:32 PM UTC 2025] Executando comando de recarga: sv reload nginx
falha: nginx: runsv não está em execução
[Ter Feb  4 05:58:32 PM UTC 2025] Erro de recarga para :
[Ter Feb  4 05:58:32 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 05:58:32 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:33Z
[Ter Feb  4 05:58:32 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 05:58:32 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com_ecc.key
[Ter Feb  4 05:58:32 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com_ecc.cer
[Ter Feb  4 05:58:32 PM UTC 2025] Executando comando de recarga: sv reload nginx
falha: nginx: runsv não está em execução
[Ter Feb  4 05:58:32 PM UTC 2025] Erro de recarga para :
Iniciado runsvdir, PID é 561
ok: run: redis: (pid 575) 0s
nginx: [aviso] extensão duplicada "wasm", tipo de conteúdo: "application/wasm", tipo de conteúdo anterior: "application/wasm" em /etc/nginx/conf.d/discourse.conf:4
ok: run: postgres: (pid 580) 1s
supervisor pid: 570 unicorn pid: 601
Desligando
run-parts: executando /etc/runit/3.d/01-nginx
ok: down: nginx: 0s, normalmente em execução
run-parts: executando /etc/runit/3.d/02-unicorn
(570) exiting
ok: down: unicorn: 1s, normalmente em execução
run-parts: executando /etc/runit/3.d/10-redis
ok: down: redis: 0s, normalmente em execução
run-parts: executando /etc/runit/3.d/99-postgres
ok: down: postgres: 0s, normalmente em execução
ok: down: nginx: 3s, normalmente em execução
ok: down: postgres: 1s, normalmente em execução
ok: down: redis: 1s, normalmente em execução
ok: down: cron: 0s, normalmente em execução
ok: down: unicorn: 3s, normalmente em execução
ok: down: rsyslog: 0s, normalmente em execução
run-parts: executando /etc/runit/1.d/00-ensure-links
run-parts: executando /etc/runit/1.d/00-fix-var-logs
run-parts: executando /etc/runit/1.d/01-cleanup-web-pids
run-parts: executando /etc/runit/1.d/anacron
run-parts: executando /etc/runit/1.d/cleanup-pids
Limpando arquivos PID obsoletos
run-parts: executando /etc/runit/1.d/copy-env
run-parts: executando /etc/runit/1.d/letsencrypt
[Ter Feb  4 06:01:07 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 06:01:07 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:28Z
[Ter Feb  4 06:01:07 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 06:01:07 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com.key
[Ter Feb  4 06:01:07 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com.cer
[Ter Feb  4 06:01:07 PM UTC 2025] Executando comando de recarga: sv reload nginx
falha: nginx: runsv não está em execução
[Ter Feb  4 06:01:07 PM UTC 2025] Erro de recarga para :
[Ter Feb  4 06:01:07 PM UTC 2025] Domínios não alterados.
[Ter Feb  4 06:01:07 PM UTC 2025] Pular, Próxima hora de renovação é: 2025-03-02T20:15:33Z
[Ter Feb  4 06:01:07 PM UTC 2025] Adicione '--force' para forçar a renovação.
[Ter Feb  4 06:01:07 PM UTC 2025] Instalando chave em: /shared/ssl/mydomain.com_ecc.key
[Ter Feb  4 06:01:07 PM UTC 2025] Instalando cadeia completa em: /shared/ssl/mydomain.com_ecc.cer
[Ter Feb  4 06:01:07 PM UTC 2025] Executando comando de recarga: sv reload nginx
falha: nginx: runsv não está em execução
[Ter Feb  4 06:01:07 PM UTC 2025] Erro de recarga para :
Iniciado runsvdir, PID é 561
ok: run: redis: (pid 575) 0s
ok: run: postgres: (pid 576) 0s
nginx: [aviso] extensão duplicada "wasm", tipo de conteúdo: "application/wasm", tipo de conteúdo anterior: "application/wasm" em /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 570 unicorn pid: 601
(570) exiting
nginx: [aviso] extensão duplicada "wasm", tipo de conteúdo: "application/wasm", tipo de conteúdo anterior: "application/wasm" em /etc/nginx/conf.d/discourse.conf:4
3 curtidas

Tudo estava indo bem. Eu vi o seguinte e reconstruí. A construção foi concluída sem erros, mas meu site não abrirá.

-------------------------------------------------------------------------------------
ATUALIZAÇÃO DO POSTGRES CONCLUÍDA

O banco de dados antigo 13 está armazenado em /shared/postgres_data_old

Para concluir a atualização, reconstruir novamente usando:

./launcher rebuild app
-------------------------------------------------------------------------------------

Quando eu executo isto
tail /var/discourse/shared/standalone/log/var-log/postgres/current
Saída

2025-02-04 18:11:50.943 UTC [573] LOG:  desligando
2025-02-04 18:11:50.945 UTC [573] LOG:  início do checkpoint: desligamento imediato
2025-02-04 18:11:50.970 UTC [573] LOG:  checkpoint completo: escreveu 139 buffers (0,0%); 0 arquivo WAL adicionado, 0 removido, 0 reciclado; tempo de escrita=0,017 s, sync=0,005 s, total=0,027 s; arquivos sincronizados=27, mais longo=0,002 s, média=0,001 s; distância=410 kB, estimativa=410 kB
2025-02-04 18:11:51.034 UTC [547] LOG:  sistema de banco de dados foi desligado
2025-02-04 18:15:04.302 UTC [548] LOG:  iniciando PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) em x86_64-pc-linux-gnu, compilado por gcc (Debian 12.2.0-14) 12.2.0, 64 bits
2025-02-04 18:15:04.303 UTC [548] LOG:  ouvindo no endereço IPv4 "0.0.0.0", porta 5432
2025-02-04 18:15:04.303 UTC [548] LOG:  ouvindo no endereço IPv6 "::", porta 5432
2025-02-04 18:15:04.305 UTC [548] LOG:  ouvindo no socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2025-02-04 18:15:04.313 UTC [575] LOG:  sistema de banco de dados foi desligado em 2025-02-04 18:14:37 UTC
2025-02-04 18:15:04.318 UTC [548] LOG:  sistema de banco de dados está pronto para aceitar conexões

Também ./launcher logs app fornece a seguinte saída

x86_64 detectado.
run-parts: executando /etc/runit/1.d/00-ensure-links
run-parts: executando /etc/runit/1.d/00-fix-var-logs
run-parts: executando /etc/runit/1.d/01-cleanup-web-pids
run-parts: executando /etc/runit/1.d/anacron
run-parts: executando /etc/runit/1.d/cleanup-pids
Limpando arquivos PID antigos
run-parts: executando /etc/runit/1.d/copy-env
run-parts: executando /etc/runit/1.d/letsencrypt
[Tue Feb  4 18:15:03 UTC 2025] Domínios não alterados.
[Tue Feb  4 18:15:03 UTC 2025] Pular, próximo horário de renovação: 2025-02-09T00:30:10Z
[Tue Feb  4 18:15:03 UTC 2025] Adicione '--force' para forçar a renovação.
[Tue Feb  4 18:15:03 UTC 2025] Instalando a chave em: /shared/ssl/forum.myforum.com.key
[Tue Feb  4 18:15:03 UTC 2025] Instalando a cadeia completa em: /shared/ssl/forum.myforum.com.cer
[Tue Feb  4 18:15:03 UTC 2025] Executando comando de recarregar: sv reload nginx
aviso: nginx: incapaz de abrir supervise/ok: arquivo não existe
[Tue Feb  4 18:15:03 UTC 2025] Erro ao recarregar para :
[Tue Feb  4 18:15:03 UTC 2025] Ignorar, próximo horário de renovação: 2025-02-09T00:30:15Z
[Tue Feb  4 18:15:03 UTC 2025] Adicione '--force' para forçar a renovação.
[Tue Feb  4 18:15:04 UTC 2025] Instalando a chave em: /shared/ssl/forum.myforum.com_ecc.key
[Tue Feb  4 18:15:04 UTC 2025] Instalando a cadeia completa em: /shared/ssl/forum.myforum.com_ecc.cer
[Tue Feb  4 18:15:04 UTC 2025] Executando comando de recarregar: sv reload nginx
aviso: nginx: incapaz de abrir supervise/ok: arquivo não existe
[Tue Feb  4 18:15:04 UTC 2025] Erro ao recarregar para :
Iniciado runsvdir, PID é 537
ok: run: redis: (pid 552) 0s
ok: run: postgres: (pid 548) 0s
nginx: [aviso] extensão duplicada "wasm", tipo de conteúdo: "application/wasm", na configuração nginx:4
pid do supervisor: 546, pid do unicorn: 579
2 curtidas

Isso está acontecendo em meus dois sites auto-hospedados também, após a atualização da linha de comando hoje. Estas são instalações muito básicas, sem personalização ou plugins não oficiais, mantidas atualizadas regularmente e que normalmente atualizam sem dificuldade.

Estou atualmente tentando as sugestões de @mwaniki acima e verei como funciona, e relatarei aqui.

2 curtidas

Realizei outra reconstrução do aplicativo e a atualização foi concluída com sucesso, mas, embora nenhum erro seja visível, o site não pode ser acessado. Alguma ideia?

./launcher logs app

WARNING: Docker version 20.10.12 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Tue Feb  4 07:12:15 PM UTC 2025] Domains not changed.
[Tue Feb  4 07:12:15 PM UTC 2025] Skip, Next renewal time is: 2025-03-06T00:39:07Z
[Tue Feb  4 07:12:15 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 07:12:16 PM UTC 2025] Installing key to: /shared/ssl/forum.******.com.key
[Tue Feb  4 07:12:16 PM UTC 2025] Installing full chain to: /shared/ssl/forum.*****.com.cer
[Tue Feb  4 07:12:16 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 07:12:16 PM UTC 2025] Reload error for :
[Tue Feb  4 07:12:16 PM UTC 2025] Domains not changed.
[Tue Feb  4 07:12:16 PM UTC 2025] Skip, Next renewal time is: 2025-03-06T00:39:11Z
[Tue Feb  4 07:12:16 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 07:12:16 PM UTC 2025] Installing key to: /shared/ssl/forum.*****.com_ecc.key
[Tue Feb  4 07:12:16 PM UTC 2025] Installing full chain to: /shared/ssl/forum.ü_ecc.cer
[Tue Feb  4 07:12:16 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 07:12:16 PM UTC 2025] Reload error for :
Started runsvdir, PID is 535
ok: run: redis: (pid 545) 0s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
ok: run: postgres: (pid 548) 0s
supervisor pid: 542 unicorn pid: 575
2 curtidas

Acho que este “site não respondendo” não tem relação com a atualização do postgres. Estou investigando agora mesmo :eyes:

5 curtidas

Estou aguardando ansiosamente a resolução deste problema. Estou recebendo centenas de e-mails de meus usuários perguntando por que não consigo acessar o fórum :frowning:

4 curtidas

Desculpem pela interrupção a todos! O conserto já está no ar, então executar outro ./launcher rebuild app deve trazer tudo de volta online.

Por favor, nos avisem se vocês ainda estiverem vendo algum problema depois disso.

13 curtidas

no trabalho :slight_smile:

4 curtidas

O yuppy está funcionando, o fórum voltou à vida. Obrigado pela rápida solução. É por isso que amamos o Discourse :heart:

4 curtidas

Obrigado por consertar isso! Passei as últimas 2 horas tentando descobrir o que deu errado com minha reconstrução. Tudo está bem agora!

Uma meta-observação: ao pesquisar o problema neste fórum, a ordenação padrão de “Relevância” dos resultados da pesquisa do fórum trabalhou contra mim. Os logs de erro nos quais pesquisei foram exatamente os mesmos daqui, mas este tópico recente apareceu muitas páginas abaixo na lista de resultados (provavelmente devido à sua atualidade). Portanto, não encontrei este tópico até abrir aleatoriamente a página principal do Meta, onde ele estava em alta. Acho que isso é uma nota para mim/outros para também verificar a página principal ou os resultados mais recentes ao tentar pesquisar um problema futuro de reconstrução.

6 curtidas

Esse é um ótimo feedback! Observe que inicialmente esta conversa estava acontecendo em PostgreSQL 15 update até que David percebeu que não estava relacionada à atualização do PostgreSQL e moveu as postagens relevantes para um novo tópico. Isso aconteceu há cerca de uma hora, então você não teria conseguido encontrá-lo até depois disso!

Solucionar problemas de atualizações com falha é notoriamente difícil - ainda mais porque atualizar o Discourse geralmente é tão tranquilo que a maioria de nós, auto-hospedeiros, não precisa aprender como o Discourse funciona internamente e aprender os passos de solução de problemas!

Agradeço a você, @david, por investigar isso e encontrar a solução tão rapidamente!

3 curtidas

Atualizei o docker pelo aplicativo móvel e, em seguida, recebi a temida mensagem “vá atualizar via console”, que geralmente sinaliza desafios futuros.

Segui todos os passos manuais de atualização e o aplicativo de reconstrução do launcher falha a cada vez.

Consigo me recuperar com um aplicativo de inicialização do launcher, então o site está funcionando.

Não está claro para mim se isso está relacionado aos erros do postgres, ou onde posso estar tendo problemas.

2 curtidas

Isso sugere que não é o mesmo problema que foi discutido neste tópico.
Para este problema, a reconstrução estava sendo bem-sucedida sem erros, mas o site não estava carregando. ./launcher start não ajudou.

Portanto, sugiro abrir um novo tópico de Support com detalhes sobre o erro que você está vendo.

2 curtidas

Meu site está de volta online após a reconstrução. Obrigado! :+1:

4 curtidas

No final, um problema de compreensão de leitura da minha parte, posso afirmar que o problema foi o banco de dados Postgres não ter sido encerrado corretamente. Depois que segui as instruções certas, tudo voltou a funcionar. Obrigado a todos, é bom ter um lugar onde, quando as coisas dão errado e eu entro em pânico um pouco, há pessoas mais calmas aqui para ajudar.

Obrigado!!!

7 curtidas

Não funciona para mim

2 curtidas

Então deve ser um problema diferente. Por favor, abra um novo tópico de #suporte com detalhes e faremos o nosso melhor para ajudar.

Para evitar confusão, vou encerrar este tópico, já que este problema específico foi resolvido.