No puedo conectarme - nueva instalación en DO

He realizado dos intentos de instalar Discourse en Digital Ocean.

Intento 1:
En el primer intento, seguí las instrucciones oficiales de Github usando una imagen DO Ubuntu 22.04 LTS, un droplet de 1GB.

Usé un subdominio de un dominio existente y credenciales de una cuenta Mailjet existente que ha estado funcionando bien durante años.

No sabía que necesitaba instalar Docker, así que cuando escribí
discourse-setup
el instalador dijo
Failed to find docker or docker.io on your PATH.
y presioné Enter para proceder a instalar Docker.

Después de eso, la instalación PARECIÓ ejecutarse bien.

Terminó con

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...

y algunas líneas adicionales.

No estaba seguro de qué tan rápido se propagaría el DNS, así que ingresé la IP de DO en mi archivo /etc/hosts.

Intenté apuntar mi navegador a la URL de mi subdominio; obtuve “Can’t connect to the server”.

Intenté apuntar mi navegador a la dirección IP; obtuve “Can’t connect to the server”.

Así que probé otro intento.

Intento 2:
Seguí las instrucciones en linuxhandbook para usar una instalación de un clic de DO desde la pestaña Marketplace, lo que me dio un Droplet de 2GB.

Después de iniciar sesión a través de ssh, el instalador se ejecutó automáticamente y pareció funcionar sin problemas. Al final, dijo
Discourse is now installed. Log into your admin account in a browser to continue configuring Discourse.

Pero de nuevo, cuando intenté apuntar mi navegador a la URL de mi subdominio o a la dirección IP de DO (nueva para este segundo droplet), mis navegadores no pueden conectarse (probé Firefox y Safari).

ejecutando
./launcher start app
muestra

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

discourse-doctor muestra (entre otras cosas)
Discourse container app is running
y da el correcto
DISCOURSE_HOSTNAME
¿Qué puedo intentar para que esta instalación (una o ambas) responda a mi navegador?

(La segunda dirección IP todavía está en mi archivo hosts, pero TAMBIÉN se ha propagado según los verificadores de DNS, por lo que parece que debería funcionar tanto desde la URL del subdominio como solo desde la dirección IP).

Gracias por cualquier ayuda.

Tengo algunos detalles más:

Hasta donde sé, no tengo ningún tipo de panel de control para ninguno de los droplets (ni Plesk, ni cPanel).

Normalmente, en una configuración de alojamiento compartido típica, iría a public_html y crearía un archivo de prueba simple como testfile.html para ver si al menos podía cargar un archivo HTML plano, pero no sé dónde hacer eso (o si siquiera puedo hacerlo) en un droplet de DO.

Si ./discourse-setup funcionó bien, entonces significa que ha podido resolver tu dominio, por lo que no hay nada que hacer al respecto. La propagación ya se ha realizado para tu servidor en este punto.

Ten en cuenta que la instalación de Discourse en Digital Ocean con 1 clic es una unsupported-install, lo que significa que es menos probable que encuentres soporte aquí. :slight_smile:

Sugiero empezar de cero y usar la instalación estándar.

  1. Crea una gota (droplet)

  2. Inicia sesión a través de SSH

  3. Ejecuta ping tu-dominio.com y comprueba si se resuelve a la IP de tu servidor (./discourse-setup mostrará una advertencia si no lo hace de todos modos).

    • Si no es así, espera hasta que lo haga.
  4. Cuando lo haga, instala Discourse usando la guía oficial discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Por favor, informa de los resultados :slight_smile:

Por supuesto, no soy un experto y tal vez alguien pueda identificar tu problema actual.

2 Me gusta

No hay necesidad de hacer eso y no ayudará. Como se dijo anteriormente, discourse-setup realizará una prueba para ver que puede comunicarse consigo mismo utilizando el nombre de host. Si editó /etc/hosts antes de ejecutar discourse-setup, el DNS no funcionó y no obtuvo un certificado de Let’s Encrypt, y es por eso que el servidor web no se iniciará. Si lo intenta suficientes veces, será limitado por velocidad y necesitará esperar una semana o usar un subdominio diferente.

Puede mirar en /var/discourse/shared/logs/var-log/nginx/access.log (o algo muy parecido) para ver el problema.

Lo más fácil en este punto es usar un nuevo subdominio, configurar el DNS, esperar a que se propague (hay herramientas que se lo mostrarán) y luego ejecutar discourse-setup.

2 Me gusta

Gracias a ambos por las respuestas.

Creé un nuevo subdominio y un nuevo droplet y los usé para un tercer intento, y todo está en funcionamiento ahora.

Cuando ejecuté ./discourse-setup durante mi primer intento, no vi ninguna indicación en la salida de que hubiera algún problema con el dominio o SSL; es posible que se informara de un error y simplemente no lo noté, pero si es así, podría ser bueno hacer que ese tipo de notificación de error sea más obvia.

Me alegro de tener mi nuevo Discourse configurado y en funcionamiento. Gracias de nuevo por ayudar a un novato.

¿Sería posible agregar una sección a discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub con Consejos para la solución de problemas, y si es así, ¿podría ayudar a contribuir a ello?

1 me gusta

Se detiene en seco. No te lo habrías perdido. Mi suposición es que resolviste inteligentemente el problema con /etc/hosts, lo que satisfizo al script, pero no permitió que Let’s Encrypt obtuviera un certificado. discourse-setup es un script de shell y está diseñado para los usuarios más novatos, por lo que sus pruebas son bastante ingenuas.

¿Quizás ver el tema de instalación estándar?

EDITAR: Bueno, no hay mucho allí.

¿Qué consejo de solución de problemas quieres añadir? Creo que hay algunas pistas allí. Suponer que alguien creará una entrada en /etc/hosts y omitirá la verificación de DNS es algo que nunca he oído que nadie haga. :slight_smile: