Erro ao iniciar o proxy userland: listen tcp4 0.0.0.0:443: bind: endereço já em uso

Bem, gostaria de experimentar o Discourse, então estou instalando-o via Docker, mas recebo este erro. Na verdade, ao pesquisar, vejo que muitas pessoas enfrentam esse erro, mas não consigo descobrir como resolvê-lo.

iniciando o contêiner existente

    + /usr/bin/docker start app

    Erro de resposta do daemon: o driver falhou ao programar a conectividade externa no endpoint app (7336c875bdf9e3f18f08ca0af0a5aad10181ba37508f92c68f87a75637c56583): Erro ao iniciar o proxy do usuário: listen tcp4 0.0.0.0:443: bind: endereço já em uso

    Erro: falha ao iniciar os contêineres: app

Já configurei isso em /opt/discourse/containers/app.yml:
expose:

  • “8880:80” # http
  • “8443:443” # https

É um servidor web onde tenho um site rodando no Apache com HTTPS, então sim, a porta 443 já está em uso. Mas, se eu configurar o app.yml para remapear a porta 443 para a 8443, por que ainda estou recebendo esse erro?

Você deve consultar Instalação Padrão Oficial do Discourse e Como configurar o Discourse em um servidor com sites Apache existentes.

Pelo caminho que você incluiu, você também pode verificar Solução de problemas de instalações Bitnami.

Já vi aquele documento, mas mudar o app.yml não deveria ter algum efeito nas portas usadas, ou é ignorado? O Discourse é o primeiro aplicativo que tento usar com uma porta de algum modo “fixada” que não consigo alterar.

Realmente não gosto de colocar outro software entre meus clientes e meu site, que já está funcionando perfeitamente. Preferiria mapear um subdomínio para o Discourse no Apache.

E se eu tiver outro aplicativo que se comporte assim e seja forçado a rodar na porta 443?

Sim, mas você precisa executar ./launcher rebuild app (ou talvez ./launcher destroy app; ./launcher start app). Minha suposição é que você apenas editou o arquivo e depois reiniciou o contêiner que já tinha as portas configuradas.