Estou tentando confirmar a arquitetura correta para servir uma aplicação personalizada em um subcaminho enquanto mantenho o Discourse na raiz (/), sem modificar os internos do Discourse.
O que eu quero (objetivo final)
https://meudominio.com/ → Discourse
https://meudominio.com/tickets → Sistema de tickets personalizado (Go + Gin)
Requisitos:
O Discourse deve permanecer em / e o sistema de tickets deve ficar em /tickets
Mesmo domínio
Sem plugin do Discourse
Ambiente atual
VPS OVH (Ubuntu) com Discourse rodando em Docker (/var/discourse)
Aplicação Go personalizada rodando no mesmo servidor em 127.0.0.1:8080
Nginx externo instalado no host (não dentro do contêiner)
Eu NÃO estou tentando rodar o Discourse em uma subpasta como /forum. Ah, e antes que alguém pergunte, sim, eu tentei usar o plugin de tickets do Discourse - ele não funciona como eu gostaria.
Eu acho que essas são provavelmente as suas melhores instruções, no entanto. Você seguirá essas instruções, mas de forma meio invertida. Você fará com que seu proxy reverso externo sirva / para o Discourse e /tickets para o seu aplicativo.
Eu acho que o nginx externo é a maneira mais fácil de fazer isso. Seria possível criar um template que permitisse ao interno fazer isso, mas é mais complicado e, eu acho, com pouco ganho.
Sim, mas você não precisa fazer nenhuma alteração no container do Discourse além de remover os templates de ssl/let’s encrypt e talvez usar um socket. (Então, na verdade, pouca coisa naquele tópico é de muita ajuda.)
O link “Tickets” que adicionei ao cabeçalho do Discourse também funciona, quando definido como em branco, e não como ‘self’, pois /tickets é então tratado como uma rota do Discourse e tenta apenas trocar a visualização do React. Em branco força uma recarga completa da página.