Houve um erro na minha atualização
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })
Por favor, me ajude a corrigi-lo.
Ocorreu um erro na minha atualização
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })
Por favor, me ajude a corrigi-lo.
Olá e obrigado por ler! Nossa comunidade perdeu seu administrador técnico principal e, por causa disso, criamos um ponto único de falha de várias maneiras. Recentemente, um dos administradores percebeu que os e-mails transacionais não estavam mais sendo entregues, e eu sou a única pessoa ativa restante com alguma experiência em administração de sistemas.
No entanto, um membro era proprietário do nosso servidor em nuvem e era responsável pelos pagamentos, então conseguimos obter acesso root ao nosso servidor Discourse.
Originalmente, pensamos que poderíamos fazer um backup local, mas o S3 está configurado, então as etapas de backup local não funcionarão e nosso último backup local é de 2019.
Embora os backups no S3 sejam recentes (da semana passada), não temos acesso ao bucket S3. Nosso administrador restante supostamente recebe os e-mails, mas se ele pode baixá-los sem autenticação no S3 é uma questão em aberto.
Neste ponto, decidimos que poderíamos tentar uma reconstrução ou reconfigurar os serviços de e-mail para uma nova conta SendGrid — já estávamos usando o SendGrid, mas não sabíamos as informações.
Decidi tentar uma reconstrução porque, por alguma razão na minha mente, parecia uma opção mais confiável para resolver possíveis erros e era inevitavelmente necessária.
Falhou com a seguinte saída:
==================== REBUILD LOG ====================
Arquitetura x86_64 detectada.
AVISO: o arquivo containers/app.yml é legível por todos. Você pode proteger este arquivo executando: chmod o-rwx containers/app.yml
Garantindo que o launcher esteja atualizado
Buscando origin
O launcher divergiu da origem, isso é esperado apenas no modo Dev
Parando o container antigo
+ /usr/bin/docker stop -t 60 app
app
2.0.20230313-1023: Pulling from discourse/base
Digest: sha256:f7467469ab9e39c3548d4478e3f416c05b34a0ee58eb6e40b963e562005669cc
Status: A imagem está atualizada para discourse/base:2.0.20230313-1023
docker.io/discourse/base:2.0.20230313-1023
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-03-23T00:18:18.600612 #1] INFO -- : Lendo de stdin
I, [2025-03-23T00:18:18.607987 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2025-03-23T00:18:18.693415 #1] INFO -- : Gerando localidades (isso pode demorar um pouco)...
Geração concluída.
I, [2025-03-23T00:18:18.693711 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2025-03-23T00:18:18.699738 #1] INFO -- :
I, [2025-03-23T00:18:18.700585 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2025-03-23T00:18:18.705669 #1] INFO -- :
I, [2025-03-23T00:18:18.706036 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2025-03-23T00:18:18.710603 #1] INFO -- :
I, [2025-03-23T00:18:18.710840 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2025-03-23T00:18:18.715934 #1] INFO -- :
I, [2025-03-23T00:18:18.716265 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2025-03-23T00:18:18.720901 #1] INFO -- :
I, [2025-03-23T00:18:18.721141 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está em execução, pare o container ; exit 1
2025/03/23 00:18:18 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2025-03-23T00:18:18.735107 #1] INFO -- :
I, [2025-03-23T00:18:18.735305 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2025-03-23T00:18:18.741065 #1] INFO -- :
I, [2025-03-23T00:18:18.741225 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2025-03-23T00:18:18.747157 #1] INFO -- :
I, [2025-03-23T00:18:18.747321 #1] INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2025-03-23T00:18:18.752360 #1] INFO -- :
I, [2025-03-23T00:18:18.752671 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2025-03-23T00:18:18.758084 #1] INFO -- :
I, [2025-03-23T00:18:18.768877 #1] INFO -- : Arquivo > /etc/service/postgres/run chmod: +x chown:
I, [2025-03-23T00:18:18.778907 #1] INFO -- : Arquivo > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-03-23T00:18:18.788505 #1] INFO -- : Arquivo > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-03-23T00:18:18.799277 #1] INFO -- : Arquivo > /root/upgrade_postgres chmod: +x chown:
I, [2025-03-23T00:18:18.799808 #1] INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2025-03-23T00:18:19.007579 #1] INFO -- :
I, [2025-03-23T00:18:19.007806 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2025-03-23T00:18:19.010768 #1] INFO -- :
I, [2025-03-23T00:18:19.010931 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2025-03-23T00:18:19.047929 #1] INFO -- :
I, [2025-03-23T00:18:19.048161 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2025-03-23T00:18:19.051531 #1] INFO -- :
I, [2025-03-23T00:18:19.051974 #1] INFO -- : > /root/upgrade_postgres
I, [2025-03-23T00:18:19.062513 #1] INFO -- :
I, [2025-03-23T00:18:19.062718 #1] INFO -- : > rm /root/upgrade_postgres
I, [2025-03-23T00:18:19.065696 #1] INFO -- :
I, [2025-03-23T00:18:19.066378 #1] INFO -- : Substituindo data_directory = '/var/lib/postgresql/13/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.067338 #1] INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.067801 #1] INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.068343 #1] INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.068760 #1] INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.069202 #1] INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.069589 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2025-03-23T00:18:19.075219 #1] INFO -- :
I, [2025-03-23T00:18:19.075772 #1] INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.076190 #1] INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.076722 #1] INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/13/main/postgresql.conf
I, [2025-03-23T00:18:19.077185 #1] INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres peer em /etc/postgresql/13/main/pg_hba.conf
I, [2025-03-23T00:18:19.077661 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2025-03-23T00:18:19.078027 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*::1\/128.*$) por host all all ::/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2025-03-23T00:18:19.078404 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2025-03-23T00:18:19.080855 #1] INFO -- : > sleep 5
2025-03-23 00:18:19.198 UTC [42] LOG: iniciando PostgreSQL 13.10 (Debian 13.10-1.pgdg110+1) em x86_64-pc-linux-gnu, compilado por gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2025-03-23 00:18:19.199 UTC [42] LOG: escutando no endereço IPv4 "0.0.0.0", porta 5432
2025-03-23 00:18:19.199 UTC [42] LOG: escutando no endereço IPv6 "::", porta 5432
2025-03-23 00:18:19.205 UTC [42] LOG: escutando no socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2025-03-23 00:18:19.214 UTC [45] LOG: o sistema de banco de dados foi desligado em 2025-03-23 00:03:12 UTC
2025-03-23 00:18:19.229 UTC [42] LOG: o sistema de banco de dados está pronto para aceitar conexões
I, [2025-03-23T00:18:24.084187 #1] INFO -- :
I, [2025-03-23T00:18:24.084488 #1] INFO -- : > su postgres -c 'createdb discourse' || true
2025-03-23 00:18:24.204 UTC [55] postgres@postgres ERROR: o banco de dados "discourse" já existe
2025-03-23 00:18:24.204 UTC [55] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: erro: falha na criação do banco de dados: ERROR: o banco de dados "discourse" já existe
I, [2025-03-23T00:18:24.207833 #1] INFO -- :
I, [2025-03-23T00:18:24.208363 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2025-03-23 00:18:24.305 UTC [59] postgres@discourse ERROR: o papel "discourse" já existe
2025-03-23 00:18:24.305 UTC [59] postgres@discourse STATEMENT: create user discourse;
ERROR: o papel "discourse" já existe
I, [2025-03-23T00:18:24.309053 #1] INFO -- :
I, [2025-03-23T00:18:24.309640 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2025-03-23T00:18:24.419882 #1] INFO -- : GRANT
I, [2025-03-23T00:18:24.420493 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2025-03-23T00:18:24.517946 #1] INFO -- : ALTER SCHEMA
I, [2025-03-23T00:18:24.518418 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE: a extensão "hstore" já existe, ignorando
I, [2025-03-23T00:18:24.625671 #1] INFO -- : CREATE EXTENSION
I, [2025-03-23T00:18:24.626326 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE: a extensão "pg_trgm" já existe, ignorando
I, [2025-03-23T00:18:24.725233 #1] INFO -- : CREATE EXTENSION
I, [2025-03-23T00:18:24.725801 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE: a extensão "hstore" já existe, ignorando
I, [2025-03-23T00:18:24.827529 #1] INFO -- : CREATE EXTENSION
I, [2025-03-23T00:18:24.828107 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE: a extensão "pg_trgm" já existe, ignorando
I, [2025-03-23T00:18:24.931702 #1] INFO -- : CREATE EXTENSION
I, [2025-03-23T00:18:24.932258 #1] INFO -- : > sudo -u postgres psql discourse
I, [2025-03-23T00:18:24.935282 #1] INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');
I, [2025-03-23T00:18:25.031195 #1] INFO -- : Arquivo > /var/lib/postgresql/take-database-backup chmod: +x chown: postgres:postgres
I, [2025-03-23T00:18:25.037342 #1] INFO -- : Arquivo > /var/spool/cron/crontabs/postgres chmod: chown:
I, [2025-03-23T00:18:25.037745 #1] INFO -- : > echo postgres instalado!
I, [2025-03-23T00:18:25.042262 #1] INFO -- : postgres instalado!
I, [2025-03-23T00:18:25.052240 #1] INFO -- : Arquivo > /etc/service/redis/run chmod: +x chown:
I, [2025-03-23T00:18:25.061161 #1] INFO -- : Arquivo > /etc/service/redis/log/run chmod: +x chown:
I, [2025-03-23T00:18:25.070080 #1] INFO -- : Arquivo > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2025-03-23T00:18:25.070956 #1] INFO -- : Substituindo daemonize yes por em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.072697 #1] INFO -- : Substituindo (?-mix:^pidfile.*$) por em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.073799 #1] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2025-03-23T00:18:25.077931 #1] INFO -- :
I, [2025-03-23T00:18:25.078752 #1] INFO -- : Substituindo (?-mix:^logfile.*$) por logfile "" em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.080205 #1] INFO -- : Substituindo (?-mix:^bind .*$) por em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.081472 #1] INFO -- : Substituindo (?-mix:^dir .*$) por dir /shared/redis_data em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.082868 #1] INFO -- : Substituindo (?-mix:^protected-mode yes) por protected-mode no em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.084108 #1] INFO -- : Substituindo # io-threads 4 por io-threads $redis_io_threads em /etc/redis/redis.conf
I, [2025-03-23T00:18:25.085201 #1] INFO -- : > echo redis instalado
I, [2025-03-23T00:18:25.088466 #1] INFO -- : redis instalado
I, [2025-03-23T00:18:25.088953 #1] INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2025-03-23T00:18:25.095957 #1] INFO -- : logfile ""
I, [2025-03-23T00:18:25.096489 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-03-23T00:18:25.099538 #1] INFO -- : > sleep 10
103:C 23 Mar 2025 00:18:25.116 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
103:C 23 Mar 2025 00:18:25.116 # Versão do Redis=7.0.7, bits=64, commit=00000000, modificado=0, pid=103, acabou de iniciar
103:C 23 Mar 2025 00:18:25.116 # Configuração carregada
103:M 23 Mar 2025 00:18:25.118 * relógio monótono: POSIX clock_gettime
103:M 23 Mar 2025 00:18:25.120 * Modo de execução=standalone, porta=6379.
103:M 23 Mar 2025 00:18:25.120 # Servidor inicializado
103:M 23 Mar 2025 00:18:25.120 # AVISO: A superalocação de memória deve estar habilitada! Sem ela, um salvamento em segundo plano ou replicação pode falhar em condições de baixa memória. Se estiver desabilitado, também pode causar falhas sem condição de baixa memória, veja https://github.com/jemalloc/jemalloc/issues/1328. Para corrigir isso, adicione 'vm.overcommit_memory = 1' ao /etc/sysctl.conf e reinicie ou execute o comando 'sysctl vm.overcommit_memory=1' para que isso tenha efeito.
103:M 23 Mar 2025 00:18:25.121 * Carregando RDB produzido pela versão 7.0.7
103:M 23 Mar 2025 00:18:25.121 * Idade do RDB 913 segundos
103:M 23 Mar 2025 00:18:25.121 * Uso de memória do RDB quando criado 29.75 Mb
103:M 23 Mar 2025 00:18:25.266 * Conclusão do carregamento do RDB, chaves carregadas: 18090, chaves expiradas: 3.
103:M 23 Mar 2025 00:18:25.266 * Banco de dados carregado do disco: 0.145 segundos
103:M 23 Mar 2025 00:18:25.266 * Pronto para aceitar conexões
I, [2025-03-23T00:18:35.105146 #1] INFO -- :
I, [2025-03-23T00:18:35.107388 #1] INFO -- : > thpoff echo "thpoff está instalado!"
I, [2025-03-23T00:18:35.117140 #1] INFO -- : thpoff está instalado!
I, [2025-03-23T00:18:35.118070 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Abortando! E-mail não está configurado!"; exit 1; end'
I, [2025-03-23T00:18:35.260647 #1] INFO -- :
I, [2025-03-23T00:18:35.261530 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Abortando! Domínio não está configurado!"; exit 1; end'
I, [2025-03-23T00:18:35.379994 #1] INFO -- :
I, [2025-03-23T00:18:35.380922 #1] INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Abortando! O CDN deve ter um protocolo especificado. Uma vez corrigido, você deve rebakear suas publicações agora para corrigir todas as publicações."; exit 1; end'
I, [2025-03-23T00:18:35.520434 #1] INFO -- :
I, [2025-03-23T00:18:35.521804 #1] INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-03-23T00:18:35.527278 #1] INFO -- :
I, [2025-03-23T00:18:35.533681 #1] INFO -- : Arquivo > /etc/cron.d/anacron chmod: chown:
I, [2025-03-23T00:18:35.544400 #1] INFO -- : Arquivo > /etc/runit/1.d/copy-env chmod: +x chown:
I, [2025-03-23T00:18:35.555450 #1] INFO -- : Arquivo > /etc/service/unicorn/run chmod: +x chown:
I, [2025-03-23T00:18:35.565315 #1] INFO -- : Arquivo > /etc/service/nginx/run chmod: +x chown:
I, [2025-03-23T00:18:35.575445 #1] INFO -- : Arquivo > /etc/runit/3.d/01-nginx chmod: +x chown:
I, [2025-03-23T00:18:35.586497 #1] INFO -- : Arquivo > /etc/runit/3.d/02-unicorn chmod: +x chown:
I, [2025-03-23T00:18:35.586705 #1] INFO -- : Substituindo # postgres por sv start postgres || exit 1 em /etc/service/unicorn/run
I, [2025-03-23T00:18:35.587163 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-03-23T00:18:35.590588 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
130:C 23 Mar 2025 00:18:35.612 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
130:C 23 Mar 2025 00:18:35.612 # Versão do Redis=7.0.7, bits=64, commit=00000000, modificado=0, pid=130, acabou de iniciar
130:C 23 Mar 2025 00:18:35.612 # Configuração carregada
130:M 23 Mar 2025 00:18:35.613 * relógio monótono: POSIX clock_gettime
130:M 23 Mar 2025 00:18:35.614 # Aviso: Não foi possível criar o socket TCP de escuta do servidor *:6379: bind: Endereço já em uso
130:M 23 Mar 2025 00:18:35.614 # Falha ao escutar na porta 6379 (TCP), abortando.
Atualizando arquivos: 100% (32972/32972), concluído.
I, [2025-03-23T00:18:40.370921 #1] INFO -- : HEAD está agora em 59e548540 Build(deps): Aumentar sass de 1.58.3 para 1.59.2 em /app/assets/javascripts (#20656)
I, [2025-03-23T00:18:40.371398 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-03-23T00:18:40.710584 #1] INFO -- :
I, [2025-03-23T00:18:40.711030 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
git remote set-branches --add origin main
git remote set-branches origin tests-passed
git fetch --depth 1 origin tests-passed
else
git fetch --prune --prune-tags origin tests-passed
fi
'
De https://github.com/discourse/discourse
* branch tests-passed -> FETCH_HEAD
05e713d09..e7c3abb94 tests-passed -> origin/tests-passed
I, [2025-03-23T00:18:42.586103 #1] INFO -- :
I, [2025-03-23T00:18:42.586534 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
git pull
else
git -c advice.detachedHead=false checkout tests-passed
fi
'
Mudado para uma nova branch 'tests-passed'
I, [2025-03-23T00:18:51.833256 #1] INFO -- : Branch 'tests-passed' configurado para rastrear branch remoto 'tests-passed' de 'origin'.
I, [2025-03-23T00:18:51.834334 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-03-23T00:18:51.841544 #1] INFO -- :
I, [2025-03-23T00:18:51.841855 #1] INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2025-03-23T00:18:51.847601 #1] INFO -- :
I, [2025-03-23T00:18:51.847953 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-03-23T00:18:51.855859 #1] INFO -- :
I, [2025-03-23T00:18:51.856222 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-03-23T00:18:51.863615 #1] INFO -- :
I, [2025-03-23T00:18:51.863977 #1] INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-03-23T00:18:51.869796 #1] INFO -- :
I, [2025-03-23T00:18:51.870182 #1] INFO -- : > cd /var/www/discourse && mkdir -p /shared/log/rails
I, [2025-03-23T00:18:51.876106 #1] INFO -- :
I, [2025-03-23T00:18:51.876454 #1] INFO -- : > cd /var/www/discourse && bash -c "touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-03-23T00:18:51.888118 #1] INFO -- :
I, [2025-03-23T00:18:51.888454 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2025-03-23T00:18:51.897590 #1] INFO -- :
I, [2025-03-23T00:18:51.898001 #1] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/{uploads,backups}"
I, [2025-03-23T00:18:51.906190 #1] INFO -- :
I, [2025-03-23T00:18:51.906512 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-03-23T00:18:51.917159 #1] INFO -- :
I, [2025-03-23T00:18:51.917467 #1] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/tmp/{backups,restores}"
I, [2025-03-23T00:18:51.927203 #1] INFO -- :
I, [2025-03-23T00:18:51.927487 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-03-23T00:18:51.937966 #1] INFO -- :
I, [2025-03-23T00:18:51.938298 #1] INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-03-23T00:18:52.001123 #1] INFO -- :
I, [2025-03-23T00:18:52.001476 #1] INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-03-23T00:18:52.010734 #1] INFO -- :
I, [2025-03-23T00:18:52.011660 #1] INFO -- : Substituindo # redis por sv start redis || exit 1 em /etc/service/unicorn/run
I, [2025-03-23T00:18:52.013337 #1] INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2025-03-23T00:18:52.019369 #1] INFO -- :
I, [2025-03-23T00:18:52.019704 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonando em 'docker_manager'...
I, [2025-03-23T00:18:53.224801 #1] INFO -- :
I, [2025-03-23T00:18:53.225328 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-spoiler-alert.git
Clonando em 'discourse-spoiler-alert'...
I, [2025-03-23T00:18:53.893263 #1] INFO -- :
I, [2025-03-23T00:18:53.893765 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-data-explorer.git
Clonando em 'discourse-data-explorer'...
I, [2025-03-23T00:18:54.647629 #1] INFO -- :
I, [2025-03-23T00:18:54.647998 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/merefield/discourse-onebox-assistant.git
Clonando em 'discourse-onebox-assistant'...
I, [2025-03-23T00:18:55.121580 #1] INFO -- :
I, [2025-03-23T00:18:55.122655 #1] INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-03-23T00:18:55.127568 #1] INFO -- :
I, [2025-03-23T00:18:55.128317 #1] INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-03-23T00:18:55.133169 #1] INFO -- :
I, [2025-03-23T00:18:55.133494 #1] INFO -- : > mkdir -p /var/nginx/cache
I, [2025-03-23T00:18:55.137201 #1] INFO -- :
I, [2025-03-23T00:18:55.137985 #1] INFO -- : Substituindo pid /run/nginx.pid; por daemon off; em /etc/nginx/nginx.conf
I, [2025-03-23T00:18:55.139546 #1] INFO -- : Substituindo (?m-ix:upstream[^\}]+\}) por upstream discourse { server 127.0.0.1:3000; } em /etc/nginx/conf.d/discourse.conf
I, [2025-03-23T00:18:55.140371 #1] INFO -- : Substituindo (?-mix:server_name.+$) por server_name _ ; em /etc/nginx/conf.d/discourse.conf
I, [2025-03-23T00:18:55.141165 #1] INFO -- : Substituindo (?-mix:client_max_body_size.+$) por client_max_body_size $upload_size ; em /etc/nginx/conf.d/discourse.conf
I, [2025-03-23T00:18:55.142058 #1] INFO -- : Substituindo (?-mix:worker_connections.+$) por worker_connections $nginx_worker_connections ; em /etc/nginx/nginx.conf
I, [2025-03-23T00:18:55.142716 #1] INFO -- : > echo "concluída configuração web"
I, [2025-03-23T00:18:55.145799 #1] INFO -- : concluída configuração web
I, [2025-03-23T00:18:55.146504 #1] INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-03-23T00:18:56.661918 #1] INFO -- : Instalado com sucesso bundler-2.6.4
1 gem instalado
I, [2025-03-23T00:18:56.662443 #1] INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-03-23T00:18:58.289649 #1] INFO -- :
I, [2025-03-23T00:18:58.290115 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --production --frozen-lockfile && yarn cache clean'
erro discourse@: O motor "node" é incompatível com este módulo. Versão esperada ">= 20". Obtido "18.15.0"
erro discourse@: O motor "yarn" é incompatível com este módulo. Versão esperada "please-use-pnpm". Obtido "1.22.19"
aviso discourse@: O motor "pnpm" parece ser inválido.
erro Módulo incompatível encontrado.
I, [2025-03-23T00:18:58.802017 #1] INFO -- : yarn install v1.22.19
info Nenhum lockfile encontrado.
[1/5] Validando package.json...
info Visite https://yarnpkg.com/en/docs/cli/install para documentação sobre este comando.
I, [2025-03-23T00:18:58.803434 #1] INFO -- : Terminando processos assíncronos
I, [2025-03-23T00:18:58.803753 #1] INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2025-03-23T00:18:58.804011 #1] INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1742689138) Recebido SIGTERM agendando desligamento...
2025-03-23 00:18:58.804 UTC [42] LOG: recebido pedido de desligamento rápido
103:M 23 Mar 2025 00:18:58.806 # Usuário solicitou desligamento...
103:M 23 Mar 2025 00:18:58.806 * Salvando o snapshot RDB final antes de sair.
2025-03-23 00:18:58.863 UTC [42] LOG: abortando transações ativas
2025-03-23 00:18:58.868 UTC [42] LOG: trabalhador de fundo "logical replication launcher" (PID 51) saiu com código de saída 1
2025-03-23 00:18:58.871 UTC [46] LOG: desligando
2025-03-23 00:18:58.960 UTC [42] LOG: sistema de banco de dados desligado
103:M 23 Mar 2025 00:18:59.184 * Banco de dados salvo no disco
103:M 23 Mar 2025 00:18:59.184 # Redis está pronto para sair, tchau...
Estou assumindo que esses erros são a razão principal?
erro discourse@: O motor "node" é incompatível com este módulo. Versão esperada ">= 20". Obtido "18.15.0"
erro discourse@: O motor "yarn" é incompatível com este módulo. Versão esperada "please-use-pnpm". Obtido "1.22.19"
aviso discourse@: O motor "pnpm" parece ser inválido.
Então tentei atualizar esses módulos usando npm. Instalei npm no servidor Discourse e tentei atualizar yarn, mas precisei do node como dependência. Tentei atualizar node e recebi um erro de que um arquivo específico requeria acesso administrativo durante a instalação, e precisava executar um comando chown para alterar privilégios. Fiz isso, mas não fez diferença.
Essencialmente, é onde paramos.
Aqui está meu pedido:
-
Se conseguirmos atualizar essa situação de yarn / node, isso resolverá o erro de reconstrução? Como fazemos isso?
-
Há alguma maneira de eu obrigar o servidor a fazer um backup local agora, fora do S3? Se eu puder fazer isso, podemos simplesmente abandonar o navio e restaurar para um novo servidor Discourse hospedado.
-
Existem serviços pagos de Discourse que poderiam nos ajudar? Meu tempo é quase inexistente e quero que nossa comunidade seja salva, mesmo que isso nos custe um pouco.
Por último, o servidor está rodando Ubuntu 20.04. Além disso, temos esta lista de plugins -
==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/merefield/discourse-onebox-assistant.git
AVISO:
Você tem o que parecem ser plugins não oficiais.
Se estiver tendo problemas, deve desativá-los e tentar reconstruir novamente.
Veja https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb para a lista oficial.
Mas estou presumindo que isso não tem nada a ver com a reconstrução falhada.
Obrigado pela ajuda.