(Marquei isso como unsupported-install, mas agradeceria a opinião de um guru de qualquer forma
)
Caros, estou tentando executar uma imagem básica do Discourse em uma configuração simples de contêiner Docker multi-docker via Docker Compose.
Aqui estão os básicos:
- O fórum está em uma subpasta, vamos chamá-la de
/board, então (https://blah.com/board) - O nginx está passando chamadas para
/board:443paralocalhost:4000. - O Discourse rails estava rodando na porta 4000 (porque 3000 está sendo usado por outra coisa)
- Incluído nos ENVs do Rails está uma configuração crucial que configura isso para funcionar:
DISCOURSE_RELATIVE_URL_ROOT: “/board”
Agora atualizei a versão do Discourse (pré Ember-CLI) e as coisas não estão mais funcionando.
Então, é claro, adicionei um contêiner para Ember-CLI que executa:
discourse-ember:
command: bin/ember-cli --port 4000 --proxy "http://localhost:4200"
Então o Ember agora está lidando com as chamadas que chegam na porta 4000 em primeira instância.
Movi o contêiner Discourse rails para a porta 4200 e iniciei as coisas.
Primeiro as boas notícias:
- Fazer curl do site de desenvolvimento funciona!
Agora as más notícias:
- Não funciona no navegador, por quê?:
porque aparentemente está tentando alcançar o Discourse, mas solicitando:
/bootstrap.json
dando o erro:
Discourse Ember CLI Proxy Error
Error: Could not get http://0.0.0.0:4200/bootstrap.json
FetchError: invalid json response body at http://0.0.0.0:4200/bootstrap.json?for_url=%2Fboard reason: Unexpected token N in JSON at position 0
em vez de
/board/bootstrap.json (que retorna dados).
Se em vez disso eu usar esta configuração:
discourse-ember:
command: bin/ember-cli --port 4000 --proxy "http://0.0.0.0:4200/forum"
Eu recebo um erro do Rails:
Routing Error
No route matches [GET] "/forum"
No entanto, não muito longe, ele me fornece:
bootstrap_path GET /bootstrap(.:format)
bootstrap#index {:format=>/(json|html|\*\/ \*)/}
Que é exatamente o caminho que eu estava tentando alcançar?
Como faço para tornar o Ember inteligente o suficiente para fazer proxy para a subpasta quando estiver tentando obter as informações de bootstrap?, ou seja:
http://0.0.0.0:4200/forum/bootstrap.json
Lembre-se, neste caso, o Ember está rodando em seu próprio contêiner.