Queria testar o Discourse em uma instalação local do Ghost.
Basicamente, configurei tudo da maneira mais simples possível: segui o “Guia do Iniciante para Instalar o Discourse para Desenvolvimento usando Docker” e configurei o Ghost usando sua CLI.
O Ghost está rodando em localhost:2368 e o Discourse em localhost:9292.
Adicionei localhost:2368 aos hosts permitidos em Personalizar/Incorporação (sem configurações como nome da classe, lista de permitidos de caminho ou postagem para categoria).
Após adicionar o trecho de código (e, claro, substituir corretamente os espaços reservados), tenho uma incorporação do Discourse que diz “Carregando discussão…” — mas após alguns segundos, um erro é registrado no console:
Falha ao executar ‘postMessage’ no ‘DOMWindow’: A origem de destino fornecida (‘http://localhost:9292’) não corresponde à origem da janela de destino (‘http://localhost:2368’).
Você recebe esse erro se o iframe não tiver carregado.
Ao adicionar localhost:2368 aos hosts permitidos, tente com ou sem uma barra no final, bem como com curingas.
O que está acontecendo é que a página pode carregar, mas nenhum dos conteúdos que se vinculam ao exterior dela, causando essa falha no carregamento.
No entanto, eu estava realmente muito interessado em testar o Ghost em breve. Então, vou acompanhar este tópico e espero que esse seja o único problema que você enfrente com ele.
Instância de produção? Segui o guia para instalar o Discourse localmente para desenvolvimento — isso não deveria ser a instalação adequada para uso local? A instalação funciona perfeitamente, apenas a incorporação está causando problemas.
Tentei adicionar dois proxies nginx, um para o Ghost e outro para o Discourse, rodando em ghost.localhost e discourse.localhost. Após alterar todas as URLs para os proxies, o erro passou a ser:
Falha ao executar ‘postMessage’ em ‘Window’: Origem de destino inválida ‘’ em uma chamada a ‘postMessage’.
Ao usar http://localhost:9292/ para o discourseUrl em vez de http://discourse.localhost/, o erro desaparece, mas os comentários ficam presos em um loop infinito (“Carregando discussões” para sempre, fazendo algumas solicitações a cada poucos segundos).