Acabei de configurar com sucesso minha primeira instância do Discourse, embora tenha enfrentado algumas dificuldades pelo caminho. Estou rodando o Debian Stretch e segui o guia de instalação Docker.
Durante a configuração, o script verifica se o nome de domínio informado realmente aponta para aquela máquina. Ele faz isso usando nc (netcat). Descobri que esse era o meu problema: eu não tinha o netcat instalado, e uma instalação simples resolveu.
No entanto, acho que isso é um bug no script de instalação. Uma função simples para verificar se o nc está instalado deveria resolver isso, ou talvez você possa até dar ao usuário a liberdade de ignorar a verificação por completo, o que também resolveria o problema.
Isso já foi mencionado antes, embora o netcat discourse-setup falhe ao encontrá-lo.
A verificação apenas emite um aviso, que você é livre para ignorar, então não considero isso um bug.
Já considerei fazer com que o discourse-setup instale o nc, mas fazer com que o discourse-setup instale algo que talvez nunca seja necessário parece algo a ser evitado.
Talvez o ideal, caso o nc esteja ausente, seja pular o teste e sugerir que, se o teste for desejado, o usuário instale o nc por conta própria, talvez até oferecendo apt install nc.
Tenho que discordar respeitosamente, isso realmente cheira a um bug. Sim, você está imprimindo uma mensagem de aviso que pode ser ignorada, mas para alguém instalando o Discourse pela primeira vez, você quer tornar o processo o mais fácil possível, o que significa não ter que vasculhar o código-fonte e descobrir que precisa instalar o netcat para que isso funcione sem erros. Qualquer erro confundirá o usuário ou o administrador do sistema, fazendo com que gastem tempo tentando descobrir por que não funciona e fazendo git blame na pessoa que escreveu o código.
Isso pode ser facilmente contornado com uma verificação simples antes de executar a verificação de IP, assim:
Verifique se o netcat está instalado
Continue se estiver
Se não estiver, imprima uma mensagem de aviso e ofereça ao usuário uma opção sim/não para continuar sem a verificação ou para abortar, permitindo que eles instalem o netcat (ou até mesmo ofereça instalá-lo via apt/yum/pacman para eles).
Outra opção que funcionaria em mais sistemas (embora não em todos) do que atualmente seria usar a pilha /dev/tcp. Mais informações sobre como fazer isso podem ser encontradas aqui. Isso corrigiria o problema no Debian e funciona no Ubuntu; não testei em outras distribuições.