Estou tentando configurar o Discourse em Docker no meu servidor existente. Não estou executando nenhum outro container Docker.
Meu servidor roda o Apache (sites WordPress) e alguns outros serviços web.
Não consigo descobrir como rotear meu subdomínio ‘forum.rebelscience.club’ para o meu container Docker.
Quando me perguntam:
Hostname for your Discourse? [discourse.example.com]: forum.rebelscience.club
Vejo isso:
Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: forum.rebelscience.club.
WARNING: Connection to http://forum.rebelscience.club (port 80) also fails.
This suggests that forum.rebelscience.club resolves to some IP address that does not reach this
machine where you are installing discourse.
The first thing to do is confirm that forum.rebelscience.club resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.
If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for "open ports YOUR CLOUD SERVICE" might help.
This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type
./launcher rebuild app
Não tenho certeza de como configurar isso. As portas 80/443 estão disponíveis, mas estão apontadas para meu domínio principal, não para meu subdomínio.
Esse tópico foi amplamente discutido aqui no meta; você pode pesquisar no meta por “apache reverse proxy” e encontrar vários tópicos abrangentes e muito detalhados.
Em resumo, você precisa configurar o seu virtual host do servidor Apache para funcionar como um proxy reverso para o Discourse.
As configurações exatas do Apache2 para essa configuração foram postadas no meta várias vezes.
Desculpe, eu deveria ter mencionado que já pesquisei e tentei algumas soluções neste fórum e também na Digital Ocean. Mas ainda não consegui fazer funcionar. Nunca configurei o Docker antes.
Vou compartilhar minhas configurações atuais:
/etc/hosts:
127.0.0.1 forum.rebelscience.club
O arquivo hosts e o registro DNS estão funcionando, pois eu tinha o phpBB rodando lá hoje. Agora estou tentando apontá-lo para um container Docker com o Discourse.
No caso (configuração de exemplo) acima, você deve expor apenas a porta 8081 no Docker (e não a porta 80 ou a porta 443).
As portas 80 e 443 são expostas pelo proxy reverso fora do contêiner, e esse tráfego é redirecionado para a porta 8081 (no seu exemplo acima), a porta que você expôs dentro (mapeada para a 80 dentro).
Isso funcionará apenas se você tiver mapeado a porta 80 dentro do contêiner para a porta 8081 (exposta ao host).
expose:
- "8081:80" # http
Espero que isso ajude.
PS: @rebelCoder, sua configuração do apache2 no lado SSL está faltando muitas informações de configuração necessárias.