Comencé a configurar Discourse en Digital Ocean y recibí el siguiente mensaje de error, y ahora mi tablero de Discourse en wespenreboards.com no carga.
Parece que intentaste introducir tu dirección IP en lugar del nombre de tu dominio. El valor entre corchetes es lo que ya está ahí, así que para aquellos que no estás actualizando, puedes presionar ‘enter’ y pasar al siguiente sin cambiar nada.
Deberías poder reiniciar tu instancia ejecutando:
./launcher restart web_only
¡Genial! Eso funcionó… ¡gracias! Ahora el sitio web carga. Entonces, ¿el nombre de host es la dirección web? Puse la IP porque en WinSCP, HOST se enumera como la dirección IP.
Para esa parte en discourse set-up, solo deberías poder presionar ‘enter’ y pasar al siguiente paso, ya que ya lo sabe de la vez anterior. Y luego, cuando llegues a las específicas de SMTP, puedes agregar la nueva información para sobrescribir lo que estaba allí.
Pero no funciona con IPs, solo con dominios. ![]()
Solo quería ver cómo te iba.
¿Ya has conseguido que funcione?
Gracias por preguntar, Jammy. Voy un poco lento porque también estoy en medio de una mudanza a otro país. Así que, todavía no lo he intentado.
Ya había cerrado sesión en la consola cuando sugeriste que continuara allí, así que creo que necesito empezar de nuevo con mi nombre de host. Y de nuevo, es discourse.example.com, ¿verdad?
Si algo sale mal en el proceso que afecte negativamente a los usuarios, por ejemplo, si Discourse se cae como la última vez, ¿hay algún comando “universal” para deshacer lo que hice, para que Discourse al menos funcione como antes de que empezara a usar la consola? Solo quiero cubrirme las espaldas ![]()
Está bien, no quiero apresurarte. ![]()
Pondré un paso a paso para que puedas consultarlo cuando estés listo:
- Abre tu consola de Digital Ocean
cd /var/discourse./discourse-setup
Esto te hará una serie de preguntas. Como tu foro ya está en funcionamiento, verás que los valores entre corchetes (por ejemplo, [discourse.example.com]) se rellenan previamente con tu información existente:
Si esa información no necesita cambiarse, simplemente puedes presionar ‘enter’ y pasar a la siguiente pregunta.
Aquí están las preguntas que hace:
Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [me@example.com,you@example.com]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [user@example.com]:
SMTP password? [pa$$word]:
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:
Los que quieres añadir nueva información son los de SMTP. El puerto SMTP seguirá siendo 587, así que también puedes simplemente presionar ‘enter’ para esa opción. La otra información la necesitarás de tu proveedor de correo (sendinblue, creo).
Una vez que se haya introducido toda la información, te dará la oportunidad de revisar lo que has introducido y luego reconstruirá tu instancia con esa nueva información. Si todo va bien, eso es todo lo que necesitas. ![]()
Si por alguna razón no funciona (como ayer), ejecutar ./launcher restart web_only debería restaurar tu versión anterior a la reconstrucción.
Por una de tus capturas de pantalla anteriores, parece que también te vendría bien un poco de mantenimiento del servidor, pero podemos repasar eso si estás interesado una vez que hayamos solucionado tu correo electrónico. ![]()
![]()
¡Esto es de gran ayuda! Gracias. Volveré aquí tan pronto como lo haya intentado, y ya sea con éxito o no, te lo haré saber ![]()
Lo ejecuté y obtuve el siguiente mensaje de error al final:
Luego intenté reiniciar web_only y obtuve el siguiente mensaje de error, y ahora mi Discourse está caído. ¿Qué hago?
Parece que el correo electrónico de letsencrypt no fue aceptado.
Pero para recuperar el anterior puedes:
./launcher restart data
Y luego
./launcher restart web_only
Todavía no me deja. ¿Necesito cerrar sesión en la consola primero y luego ejecutar restart data y luego web_only?
Tampoco estoy seguro de qué significa esto: Cannot link to a non running container: /data AS /web_only/data
Esos archivos web_only adicionales son los dos intentos que hemos tenido de actualizarlo. Se limpiarían durante una limpieza (aunque no ejecutes una hasta que tengamos tu sitio en funcionamiento, ya que ordenará todo lo que no esté activamente adjunto a algo
).
He replicado tu configuración en un sitio de prueba (dos contenedores y Sendinblue SMTP) para intentar tener una mejor idea de lo que está sucediendo. Cuando recibí el mensaje Cannot link to a non running container: /data AS /web_only/data, reiniciar el contenedor de datos y luego reiniciar el contenedor web_only funcionó para mí. Pero acabo de intentar enredar una reejecución de discourse-setup de manera similar para intentar replicar tu situación exacta para una mejor comprensión.
Quizás debería decir que una instalación de un solo contenedor es mucho más compatible, por lo que si esto resulta demasiado frustrante, una opción alternativa podría ser crear una nueva instancia de Digital Ocean e instalar una instancia nueva utilizando la guía de instalación estándar. Luego puedes restaurar una copia de seguridad y, con suerte, tendrás una experiencia mucho más fácil al cuidarla.
Puede hacer un
./launcher destroy web_only
./launcher start web_only
Y eso le conectará al contenedor de datos.
Si lo único que quiere hacer es cambiar la configuración smtp, entonces puede editar web_only.yml con nano y luego hacer la secuencia de destruir, iniciar anterior.
Me desconecté de la consola, abrí una nueva y seguí tus instrucciones, pero recibo el mismo mensaje de error: “no se puede vincular a un contenedor que no se está ejecutando”.
¿Hay alguna forma de que pueda recuperar las cosas a como estaban antes de configurar el smtp en la consola? No puedo hacer una configuración completa nueva de Discourse ahora. Es demasiado frustrante cuando estoy en medio de una mudanza.
Gracias, Jammy.
Afortunadamente, la caballería ha llegado de nuevo.
Y puedo ver que tu sitio ha vuelto a estar en línea. ![]()
@pfaffman Menos mal, eso funcionó. ¡Gracias Jay!
Creo que tengo que dejar esto hasta que esté en mi nueva ubicación a finales de la próxima semana. Lo importante ahora es mantener el foro en funcionamiento. Parece que la gente todavía puede cambiar contraseñas y registrarse en el foro usando su contraseña existente de Google. Así que, haremos eso por ahora. Y me mostraste cómo hacer una copia de seguridad del disco duro desde WinSCP ayer. Así que, trabajaremos con eso por ahora, creo.
¡Gracias de nuevo!
EDITAR: Cuando dije que está funcionando, me refería a que el sitio está en línea y funcionando. Todavía necesito probar el resto de tus sugerencias para cambiar el SMTP directamente, pero probablemente lo haré más tarde.
Me cuesta rendirme, JAJA. Jay, Jammy o alguien más, ¿pueden ver alguna discrepancia en esto? Por ejemplo, escribí OFF después de LETSENCRYPT_ACCOUNT_EMAIL:: No estoy seguro de si eso fue correcto…
## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
# Se requieren la DIRECCIÓN SMTP, el nombre de usuario y la contraseña
# ADVERTENCIA: ¡el carácter '#' en la contraseña SMTP puede causar problemas!
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: wespenre2@gmail.com
DISCOURSE_SMTP_PASSWORD: "eliminado en esta publicación"
DISCOURSE_SMTP_ENABLE_START_TLS: false # (opcional, por defecto true)
DISCOURSE_SMTP_DOMAIN: gmail.com
DISCOURSE_NOTIFICATION_EMAIL: wespenre2@gmail.com
## Si agregó la plantilla Let's Encrypt, descomente a continuación para obtener un certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: OFF
## TODO: configurar la conectividad a las bases de datos
DISCOURSE_DB_SOCKET: ''
#DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: (eliminado en esta publicación)
DISCOURSE_DB_HOST: data
DISCOURSE_REDIS_HOST: data
Dejé mi letsencrypt_account_email como el valor predeterminado me@example.com (tener algo que no sea un correo electrónico ahí romperá la reconstrucción). También dejé DISCOURSE_SMTP_ENABLE_START_TLS: como el valor predeterminado true.
Y el dominio de su correo electrónico debe ser el nombre de su dominio, y luego creo que querrá que su correo electrónico de notificación tenga un noreply@ o similar delante.
Déjeme ir a buscar una copia del mío
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: admin@jammydodger.monster
DISCOURSE_SMTP_PASSWORD: "secret-password"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, predeterminado true)
DISCOURSE_SMTP_DOMAIN: test.jammydodger.monster
DISCOURSE_NOTIFICATION_EMAIL: noreply@test.jammydodger.monster
## Si agregó la plantilla Lets Encrypt, descomente a continuación para obtener un certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
Gracias Jammy. Uf, lo intentaré de nuevo y volveré aquí… LOL.
Antes de empezar, quiero asegurarme: el correo electrónico noreply, ¿debería ser noreply@gmail.com? Gmail es el único dominio de correo electrónico que he estado usando en Discourse. ¿Eso crea automáticamente una opción noreply en Gmail, o qué dominio uso para el correo electrónico noreply? ¿O puedo, en lugar de tener un correo electrónico noreply, escribir wespenre2@gmail.com?
He editado lo siguiente en WinSCP (ver abajo) haciendo clic derecho en web_only.yml, pero aún no lo he refrescado. Quiero escuchar tu opinión primero.
Luego, si todo parece correcto y lo refresco, ejecuto ./launcher destroy web_only y luego ./launcher start web_only, después del refresco, ¿verdad, y entonces debería funcionar?
¿Qué tal esto?
## TODO: El servidor de correo SMTP se utiliza para validar nuevas cuentas y enviar notificaciones
# Se requieren la DIRECCIÓN SMTP, el nombre de usuario y la contraseña
# ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas.
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: wespenre2@gmail.com
DISCOURSE_SMTP_PASSWORD: "password"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, por defecto true)
DISCOURSE_SMTP_DOMAIN: gmail.com
DISCOURSE_NOTIFICATION_EMAIL: noreply@gmail.com
## Si has añadido la plantilla Lets Encrypt, descomenta abajo para obtener un certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: wespenre2@gmail.com






