Não consigo conectar - nova instalação no DO

Fiz duas tentativas de instalar o Discourse na Digital Ocean.

Tentativa 1:
Na primeira tentativa, usei as instruções oficiais do Github usando uma imagem DO Ubuntu 22.04 LTS, droplet de 1GB.

Usei um subdomínio de um domínio existente e credenciais de uma conta Mailjet existente que tem funcionado bem por anos.

Eu não sabia que precisava instalar o Docker, então quando digitei

discourse-setup

o instalador disse

Failed to find docker or docker.io on your PATH.

e eu pressionei Enter para prosseguir e instalar o Docker.

Depois disso, a instalação PARECIA rodar bem.

Terminou com

117:M 25 May 2023 01:14:46.500 * DB saved on disk
117:M 25 May 2023 01:14:46.501 # Redis is now ready to exit, bye bye...

e algumas linhas adicionais.

Eu não tinha certeza de quão rápido o DNS propagaria, então inseri o IP da DO no meu arquivo /etc/hosts.

Tentei apontar meu navegador para o URL do meu subdomínio; recebi “Can’t connect to the server”.

Tentei apontar meu navegador para o endereço IP; recebi “Can’t connect to the server”.

Então tentei outra tentativa.

Tentativa 2:
Segui as instruções em linuxhandbook para usar uma instalação one-click da DO da aba Marketplace, que me deu um Droplet de 2GB.

Após fazer login via ssh, o instalador rodou automaticamente e pareceu rodar sem problemas. No final, disse

Discourse is now installed. Log into your admin account in a browser to continue configuring Discourse.

Mas novamente, quando tentei apontar meu navegador para o URL do meu subdomínio ou para o endereço IP da DO (novo para este segundo droplet), meus navegadores não conseguem conectar (tentei Firefox e Safari).

executando

./launcher start app

mostra

x86_64 arch detected.
cadd91ccd0cd
Nothing to do, your container has already started!

discourse-doctor mostra (entre outras coisas)

Discourse container app is running

e dá o correto

DISCOURSE_HOSTNAME

O que posso tentar para fazer esta instalação (qualquer uma ou ambas) responder ao meu navegador?

(O segundo endereço IP ainda está no meu arquivo hosts, mas ele TAMBÉM propagou de acordo com os verificadores de DNS, então parece que deveria funcionar tanto pelo URL do subdomínio quanto apenas pelo endereço IP.)

Obrigado por qualquer ajuda.

Tenho mais alguns detalhes:

Pelo que sei, não tenho nenhum tipo de painel de controle para nenhum dos droplets (nem Plesk, nem cPanel).

Normalmente, em uma configuração típica de hospedagem compartilhada, eu entraria em public_html e criaria um arquivo de teste simples como testfile.html para ver se eu conseguiria pelo menos carregar um arquivo HTML simples, mas não sei onde fazer isso (ou se posso fazer isso) em um droplet DO.

Se ./discourse-setup correu bem, então significa que ele conseguiu resolver seu domínio, então não há nada a fazer a respeito. A propagação já foi feita para o seu servidor neste ponto.

Note que a instalação do Discourse Digital Ocean de 1 clique é uma unsupported-install, o que significa que é menos provável que você encontre suporte aqui. :slight_smile:

Eu sugiro começar do zero e usar a instalação padrão.

  1. Crie um droplet

  2. Faça login via SSH

  3. Execute ping seu_dominio.com e veja se ele resolve para o IP do seu servidor (./discourse-setup mostrará um aviso se não o fizer de qualquer maneira).

    • Se não resolver, espere até que resolva.
  4. Quando resolver, instale o Discourse usando o guia oficial discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Por favor, retorne :slight_smile:

Claro, eu não sou um especialista, e talvez alguém consiga identificar seu problema atual.

2 curtidas

Não há necessidade de fazer isso e não ajudará. Como dito acima, o discourse-setup fará um teste para ver se ele pode se comunicar consigo mesmo usando o nome do host. Se você editou /etc/hosts antes de executar o discourse setup, o DNS não funcionou e você não obteve um certificado do let’s encrypt, e é por isso que o servidor web não iniciará. Se você tentar o suficiente, será limitado pela taxa e precisará esperar uma semana ou usar um subdomínio diferente.

Você pode olhar em /var/discourse/shared/logs/var-log/nginx/access.log (ou algo muito parecido) para ver o problema.

A coisa mais fácil neste momento é usar um novo subdomínio, configurar o DNS, esperar que ele se propague (existem ferramentas que mostrarão isso) e então executar o discourse-setup.

2 curtidas

Obrigado a ambos pelas respostas.

Criei um novo subdomínio e um novo droplet e usei-os para uma terceira tentativa, e tudo está funcionando agora.

Quando executei ./discourse-setup na minha primeira tentativa, não vi nenhuma indicação na saída de que houvesse algum problema com o domínio ou SSL; é possível que tenha havido um erro relatado e eu simplesmente o perdi, mas, se for o caso, pode ser bom tornar esse tipo de notificação de erro mais óbvia.

Fico feliz em ter meu novo Discourse configurado e funcionando. Obrigado novamente por ajudar um novato.

Seria possível adicionar uma seção a discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub com Dicas de Solução de Problemas e, se sim, eu poderia ajudar a contribuir para isso?

1 curtida

Ele para abruptamente. Você não teria perdido. Minha suposição é que você resolveu inteligentemente o problema com /etc/hosts, o que satisfez o script, mas não permitiu que o Let’s Encrypt obtivesse um certificado. discourse-setup é um script shell e foi projetado para os usuários mais inexperientes, então seus testes são bastante ingênuos.

Talvez veja o tópico de instalação padrão?

EDIT: Bem, não há muito lá.

Que conselho de solução de problemas você quer adicionar? Acho que há algumas pistas lá. Supor que alguém criará uma entrada /etc/hosts e contornará a verificação de DNS é algo que nunca ouvi falar que alguém fizesse. :slight_smile: