Nossas imagens de discurso não são exibidas em lightbox

Concordo, o launcher pode ser modificado para avisar sobre isso ou bloqueá-lo na próxima semana, @falco?

Estou com o mesmo problema. Você poderia esclarecer exatamente para qual nome é necessário renomear o arquivo .yml?

É necessário incluir o TLD e o subdomínio como parte do nome do arquivo .yml? Para este site, seria meta.discourse.org.yml?

Renomeie para meta_discourse_org.yml.

O único . no nome do seu arquivo deve preceder a extensão.

Obrigado por esclarecer. Alterei o nome do arquivo e reconstruí, mas ainda não estou vendo nenhum lightbox ou efeito de hover para mostrar a legenda em nenhuma imagem.

Qual é esse arquivo de log? Estou tentando confirmar se se trata do mesmo problema.

Também tenho a opção Forçar seu site a usar apenas HTTPS ativada e a porta 80 bloqueada no firewall.

cd /var/discourse
./launcher enter app
tail -f /shared/log/rails/production.log

Veja também este artigo sobre os logs do Discourse.

Se isso acontecer apenas com as postagens existentes, mas as imagens postadas recentemente estiverem corretas, pode ajudar executar:

rake uploads:recover_from_tombstone
rake posts:rebake

Veja também lá.

Tudo muito útil, obrigado.

Parece que estou tendo o mesmo problema com o erro não é possível acessar '/uploads/default...

A próxima linha do meu arquivo de log é
Iniciado GET "/posts/950" para 127.0.0.1 em 2020-07-07 08:24:05 +0000

Alguma ideia do por que o meu está tentando através do IP de loopback e não do container recém nomeado ou do IP local do container?

Isso parece ser específico de instalações não padrão que simultaneamente:

  • Não usaram ./discourse-setup e criaram um arquivo yml manualmente

  • Estão usando um proxy reverso

  • Esse proxy reverso está magicamente configurado usando o nome de um contêiner Docker

Recomendo não alterar o nome atual e determinístico do contêiner para todos para resolver esse caso extremo, a menos que isso também possa ocorrer simplesmente adicionando um ponto extra ao nome do arquivo yml.

Eu realmente usei, mas renomeei o arquivo depois, pois tenho duas instâncias do Discourse em execução e, caso contrário, ambas seriam chamadas de app na mesma instância do Docker.
Acho razoável renomear o arquivo para corresponder ao domínio utilizado.

Provavelmente é bastante comum para comunidades menores executarem vários sites em um único servidor.

Não foi o proxy reverso que causou o problema de nome. Foi o próprio Docker, já que ele adiciona automaticamente o nome do contêiner ao seu DNS interno. O problema era que o nome do contêiner do Discourse no Docker era o mesmo que seu nome de DNS externo (por exemplo, app.ymlmeta.discourse.org.yml).

Proponho exibir pelo menos um aviso forte se o nome do arquivo corresponder ao nome do domínio fornecido no arquivo .yml.

Ainda estou com o mesmo problema de não conseguir acessar a imagem para obter as dimensões.

Não foi possível acessar ‘/uploads/default/original/1X/9385b0977b09b0f2239c287de980b6fc238d0da0.png’ para obter suas dimensões.

Isso ocorre em uma instalação totalmente padrão usando ./discourse-setup

Alguma outra ideia de como corrigir isso?

O que acontece se você tentar baixar a imagem dentro do seu aplicativo Discourse?

./launcher enter app
wget https://yourdomain.com/uploads/default/original/1X/9385b0977b09b0f2239c287de980b6fc238d0da0.png

A resolução de nomes aponta para o endereço IP correto?

apt-get update
apt-get install inetutils-ping
ping yourdiscoursedomain.com

ou

apt-get update
apt-get install dnsutils
nslookup yourdiscoursedomain.com

Obrigado novamente pela sua ajuda, Michael, é muito apreciado.

Consegui fazer o ping no domínio com sucesso, mas parece que o wget está tentando passar por um proxy web.

Siga este guia e adicionei a variável no-proxy em todos os locais relevantes.

Estou esquecendo algo? Como configuro o contêiner para não usar o proxy web que o servidor está usando? Preciso adicionar um no-proxy no app.yml?

Adicionei meu domínio ao parâmetro no-proxy no arquivo app.yml e recompilei, e agora o proxy é ignorado conforme necessário.

Ainda estou recebendo erros ao executar um wget dentro do aplicativo:

AVISO: O certificado de ‘MYDOMAIN.com’ não é confiável.
AVISO: O certificado de ‘MYDOMAIN.com’ não possui uma autoridade emissora conhecida.

Isso ocorre porque meu certificado SSL é de uma CA interna. Quando executo o mesmo comando wget com a flag --no-check-certificate, funciona perfeitamente.

Como posso adicionar o certificado para torná-lo confiável ou adicionar a flag para desativar a verificação?

@Michael_Uray você sabe onde preciso adicionar a CA raiz para permitir que o contêiner do Discourse confie no certificado SSL?

Segui este guia, mas acho que ele se aplica ao próprio servidor e não ao contêiner que está executando o Discourse.

Se você não estiver usando um proxy reverso, com certeza terá que entrar no contêiner e adicioná-lo lá, mas acho que dessa forma não será persistente. Acho que você terá que adicioná-lo de alguma forma ao app.yml ou tornar o caminho correspondente do CA dentro do contêiner persistente de alguma maneira via app.yml.