Umm não. Tenho 18 TB livres… LOL.
Ok. Usei o:
./launcher rebuild app
Ainda vejo o:
I, [2022-04-29T16:46:00.618865 #1] INFO -- : > cd /var/www/discourse & [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production & yarn cache clean'
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
e termina com:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 720 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** 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.
29d02d2c0c6e0dde4f6d7b625db30c7b69626a80ec8100a44e8caf88565d1c7e
Eu recebo o seguinte erro e, ainda assim, /home/discourse está com permissão 777. O que está acontecendo???
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
node:fs:1336
handleErrorFromBinding(ctx);
^
Error: EACCES: permission denied, mkdir '/home/discourse/.config/configstore'
You don't have access to this file.
Eu também vejo os seguintes erros e, novamente, meu /home/discourse está com permissão 777 e nem isso lhe dá acesso. Como a propriedade e o acesso devem ser definidos? O usuário discourse só existe dentro do contêiner.
I, [2022-04-29T16:45:47.705749 #1] INFO -- : > cd /var/www/discourse & su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'
[DEPRECATED] The `--deployment` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local deployment 'true'`, and stop using this flag
[DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'test development'`, and stop using this flag
`/home/discourse` is not writable.
O único outro erro que vejo é um erro sobre a porta 6379. Estou perdendo alguma coisa em termos de abertura de portas?
130:M 29 Apr 2022 16:45:10.722 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
130:M 29 Apr 2022 16:45:10.722 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (31051/31051), done.
Depois que isso foi feito, executei o discourse-doctor, já que o fórum estava parado. Apesar do que diz abaixo, o fórum foi iniciado novamente:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 722 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** 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.
922dd1e5bd9c3ec682864fff915eb2c12f4bf88805d555bc78f067ac2910540a
==================== END REBUILD LOG ====================
Failed to rebuild app.
Checking your domain name . . .
Connection to discussion.scottibyte.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start app
app
ce20d9cd2ce local_discourse/app "/sbin/boot" 12 days ago Up Less than a second 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app
Restarted the container.
==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
No non-official plugins detected.
See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.
O discourse-doctor encontrou os seguintes erros:
d.indkey, pg_get_indexdef(d.indexrelid), t.oid,
pg_catalog.obj_description(i.oid, 'pg_class') AS comment
FROM pg_class t
INNER JOIN pg_index d ON t.oid = d.indrelid
INNER JOIN pg_class i ON d.indexrelid = i.oid
LEFT JOIN pg_namespace n ON n.oid = i.relnamespace
WHERE i.relkind IN ('i', 'I')
AND d.indisprimary = 'f'
AND t.relname = 'user_search_data'
AND n.nspname = ANY (current_schemas(false))
ORDER BY i.relname
2022-04-29 16:59:55.223 UTC [720] discourse@discourse LOG: duration: 174.472 ms execute <unnamed>: INSERT INTO "user_search_data" ("raw_data","user_id","locale","version","search_data") VALUES ('system system', -1, 'en', 3, '''system'':1A,2B ') ON CONFLICT ("user_id") DO UPDATE SET "raw_data"=excluded."raw_data","locale"=excluded."locale","version"=excluded."version","search_data"=excluded."search_data" RETURNING "user_id"
I, [2022-04-29T16:59:55.668214 #1] INFO -- :
I, [2022-04-29T16:59:55.668479 #1] INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
node:fs:1336
handleErrorFromBinding(ctx);
^
Error: EACCES: permission denied, mkdir '/home/discourse/.config/configstore'
You don't have access to this file.
at Object.mkdirSync (node:fs:1336:3)
at AsyncFunction.module.exports.sync (/var/www/discourse/app/assets/javascripts/node_modules/make-dir/index.js:114:6)
at Configstore.set all [as all] (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:59:12)
at Configstore.set (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:91:12)
at clientId (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:55:17)
at module.exports (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:105:13)
at Object.<anonymous> (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/bin/ember:34:1)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
at Module.load (node:internal/modules/cjs/loader:981:32) {
errno: -13,
syscall: 'mkdir',
code: 'EACCES',
path: '/home/discourse/.config/configstore'
}
error Command failed with exit code 1.
Portanto, após o discourse-doctor, o fórum está de volta, embora com os mesmos erros exatos que postei inicialmente. Gráficos são um requisito e, por isso, estou pensando que os gráficos não funcionam mais nesta versão. Este erro começou em 2.9.0 beta3 e agora estou na 2.9.0 beta 4. Existe uma maneira de reverter ou corrigir essa bagunça?
@JammyDodger tudo se resume a isto:
$ yarn install --production
Error: EACCES: permission denied, open '/home/discourse/.config/yarn'
Note que não existe .config em /home/discourse. Então, eu criei .config.
O motivo pelo qual seu fórum volta online após o Discourse-Doctor é que ele está reiniciando a versão existente do site, anterior à reconstrução. Assim, você ficará online, mas infelizmente voltará à estaca zero.
Se você tiver um backup recente, pode achar mais rápido iniciar um novo droplet com uma nova instância e restaurar seu site lá?
Eu pesquisei no site por erros semelhantes, pois temo que não seja algo com o qual eu tenha experiência pessoal, mas não entendi as respostas o suficiente para poder aconselhá-las.
@pfaffman normalmente é bom nisso. Algo assim funcionaria, ou é uma pista falsa total?
Então, como último recurso, fiz um backup pela GUI de administração. O log indicou que o backup foi bem-sucedido. Tentei baixar o backup. O fórum me enviou um e-mail com o link para o backup. Cliquei nele e parecia que tinha baixado, mas nenhum arquivo foi baixado. Meu fórum mostra backups, mas nenhum deles pode ser baixado. Pensei que, no pior dos casos, eu instalaria um Discourse do zero e faria o upload de um backup. Infelizmente, não consigo baixar backups do meu fórum atual e não há erros no log. Este produto me faz sentir como se eu fosse um completo novato e não sou.
Eu fiz o chown dentro do contêiner como você indicou. Recebo um e-mail com o link de backup. Eu o cliquei. Especifiquei a pasta de download no meu desktop Ubuntu. Ele retorna imediatamente e nada é baixado. Estou no ponto em que estou pronto para perder meus últimos dois anos de notas do fórum e jogar meu canal do YouTube no lixo. Este produto resiste a todas as tentativas de reparo, backup ou restauração.
Acho que você deveria adiar quaisquer outras alterações arriscadas até que alguém com mais conhecimento possa oferecer conselhos específicos. Agradeço que isso seja realmente frustrante, mas fazer algo precipitado pode ser lamentável.
Tenho vários backups de imagem confiáveis do servidor que posso restaurar a qualquer momento. O problema é que preciso dos meus dados atuais do servidor e o Discourse não fornecerá uma cópia do backup que ele fez. Não sei mais o que fazer. Estou pensando em apenas tirar capturas de tela de todos os meus gráficos e copiar o texto e recriar tudo em phpBB, que funciona.
Então, meu problema não é fazer upload de um backup. É baixar o backup do fórum. Então, para tentar corrigir o problema do launcher, eu fiz o chown do /home/discourse dentro do container para discourse, já que era root. Executei o launcher novamente e…
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
Este produto está repleto de centenas de erros e corrigir um ou dois não resulta em melhorias. Duas semanas atrás eu estava funcionando bem e então ele se autodestruiu e não há para onde ir para consertar essa bagunça.
Bem, isso é alguma coisa.
Contanto que você esteja confortável com essa rede de segurança e esteja ciente e feliz em assumir os riscos com a experimentação. Eu faço auto-hospedagem, e pode ser bastante angustiante sair do “roteiro” sem alguma orientação quando você tem conteúdo que lhe interessa.
Você poderia nos dar mais detalhes sobre sua configuração e como você tem mantido seu servidor até agora? Talvez isso possa lançar alguma luz sobre como isso aconteceu e soar familiar para outra pessoa na comunidade que já experimentou um problema semelhante. Que servidor e especificações você tem? Você mencionou que seguiu o guia de instalação padrão, mas foi vago sobre alguns dos comandos de rotina, você pode ter perdido uma atualização importante em seu servidor, etc?
Em vez de baixar pela interface web, você pode usar scp ou rsync para outro local.
Não consigo entender o que está acontecendo aqui.
O /home/discourse mencionado na atualização da UX está dentro do contêiner, então você não esperaria ver esses arquivos no seu sistema de arquivos local.
Mas você entende a diferença entre dentro e fora do contêiner.
Isso não mudará nada sobre uma reconstrução, pois você não está olhando para esse contêiner.
Você fez um
git pull?
Você está no branch main e não no master?
OK. Progresso enorme @JammyDodger. Obrigado pela sua ajuda. Restaurei um backup do meu servidor Discourse de janeiro. Ele funcionou perfeitamente e então o atualizei para a versão mais recente com um “git pull” e depois um app rebuild. Boas notícias, ZERO ERROS agora.
Finalmente consegui exportar o backup do servidor antigo e importá-lo. Todos os meus dados estão no fórum e o fórum não tem erros.
Infelizmente, ainda não consigo editar nenhuma postagem com um gráfico ou criar uma nova postagem com um gráfico. Recebo erros 500 ou apenas “não foi possível criar a postagem”. Sinta-se à vontade para testar isso em https://discussion.scottibyte.com/ Boas notícias é que, desde que minhas postagens sejam apenas de texto, estou bem e atualizado para a versão mais recente e sem erros.
Sinto que meu problema deve estar relacionado à incapacidade do Discourse de acessar o cache de upload de imagens ao criar uma postagem com imagens ou editar uma postagem existente com imagens. Também estou completamente atualizado para a versão 2.9.0.beta4. Na beta1, não vi esse problema. Acho que ocorreu na beta3 ou beta4. Sempre que edito uma postagem existente com imagens, recebo um erro 500 ao tentar salvar a edição. Ao criar uma nova postagem com imagens, recebo:
Se eu editar ou criar uma postagem com texto e hiperlinks sem gráficos incorporados, funciona bem.
Editar uma postagem existente que contenha imagens no Discourse 2.9.0.beta4 falha com o seguinte erro:
Criar um novo tópico falha assim que eu faço o upload de uma imagem com este erro:
Alguém tem alguma ideia de como corrigir isso? Começou depois que atualizei para a beta4.
Olá @vmsman ![]()
Você pode manter suas postagens sobre um problema em um único tópico, em vez de postar em vários e criar múltiplos. Se alguém puder ajudar, terá todas as informações relevantes em um só lugar e será mais fácil de acompanhar. ![]()
Essa é uma boa notícia.
O backup funcional agora permitiria que você iniciasse uma nova instância e instalasse lá?
Então, eu totalmente atualizei. Todos os bugs de reconstrução sumiram. Restaurei o backup. Ainda não consigo carregar imagens.
Então, eu construí um novo servidor do zero. Ele não tinha erros. Restaurei meu backup. Ainda tenho os mesmos erros 500 ao editar posts com gráficos. Também não consigo criar posts com imagens. Eu até tentei criar um post antes de restaurar o backup da instalação virgem e ele não funcionava com gráficos. Algo deve ter mudado com o Discourse 2.9.0.beta4. Tudo funcionava no beta2. Devo concluir que isso é um problema de rede. Tenho meu discourse e meus outros aplicativos hospedados atrás do NginX Proxy Manager e todos os outros aplicativos estão funcionando bem. Como teste, removi o NginX Proxy Manager e expus o servidor diretamente e os erros desapareceram. Portanto, concluo que o beta4 está fazendo algo diferente em termos de rede.
Parece que você pode ter uma boa ideia.
Vamos atualizar o título novamente e ver se isso pode gerar mais respostas para você.
Receio que eu só conheça a instalação padrão, então minhas habilidades com Nginx Proxy são inexistentes. ![]()







