Soy nuevo en Ruby y Docker, pero tengo experiencia en desarrollo en otros ámbitos. Tengo una instancia de desarrollo de Discourse en funcionamiento y también una instancia de producción, por lo que parece que las dependencias están cubiertas. Me gustaría añadir funcionalidad de OAuth 2.0 a no-reply@discourse.example.com, para poder enviar las notificaciones a través de un usuario de Google Workspace.
Agradecería su ayuda en lo siguiente:
¿Cómo crear la imagen de Docker desde el repositorio git de Discourse?
¿Qué parte del código contiene la autenticación SMTP del no-reply y el envío de las notificaciones?
Si todo va bien, me gustaría que fuera seleccionable en el script ./discourse-setup, para que se pueda proporcionar el webmaster en la mayoría de los proveedores de correo y OAuth 2.0 cuando el proveedor de correo sea Google. En caso de que le resulte útil, puedo enviar el resultado para su revisión.
Gracias por tu pronta respuesta. Usaría el script ./discourse-setup, sin embargo, necesito configurar Discourse como un cliente OAuth, no como un cliente SMTP, así que necesito agregarlo primero a la fuente. No puedo encontrar la fuente de Discourse en el repositorio discourse_docker. ¿Cómo puedo modificar la fuente de Discourse y luego ejecutar el script ./discourse-setup? Si no recomiendas usar ./launcher, no me importa no seguir esa dirección.
Actualmente, tengo los repositorios discourse y discourse_docker.
¿Te refieres a SMTP con autenticación OAuth en lugar de autenticación básica? ¿O buscas enviar correo a través de alguna otra vía?
Discourse no admite la autenticación OAuth de SMTP, por lo que el enfoque más sencillo es probablemente que Discourse entregue el correo electrónico a un servidor de correo local configurado de tal manera que envíe el correo con la autenticación necesaria.
El mecanismo admitido por Google para esto parece ser:
Quiero decir que en mi caso Discourse debería conectarse al proveedor de correo OAuth 2, y no a SMTP. Desafortunadamente, descubrí que mis correos probablemente van a spam cuando no se usa un gran proveedor de correo, así que decidí agregar autenticación OAuth 2 para la cuenta de no-reply utilizada por Discourse y conectarme a Google Workspace. También probé Mailgun, sin embargo, también necesitaría soporte IMAP.
Normalmente, configurarías algún servicio de correo transaccional para enviar desde noreply@forum.example.com y el receptor de correo recibiría los correos enviados y los entregaría a Discourse.