No soy un experto en Discourse, pero hay muchas formas de manejar esto y aquí hay una que espero podría funcionar y que intentaría explorar:
- Requerir aprobación para nuevos usuarios de Discourse.
- Desarrollar un script en tu sitio web remoto o en un entorno sin servidor que consulte tu base de datos para una persona y luego llame a la API de Discourse para aprobar o rechazar al nuevo usuario.
- Configurar Discourse para que realice una llamada webhook al script cuando haya un nuevo usuario.
- Personalizar la redacción de Discourse para describir mejor a tus usuarios lo que está sucediendo.
Básicamente, Discourse tiene buenos webhooks y una API sólida, por lo que puedes usarlos mientras escribes tu script personalizado de forma remota en el lenguaje con el que te sientas más cómodo.
Si estás dispuesto a escribir un complemento de Discourse en Ruby, eso también funcionaría, pero personalmente no lo haría, así que encontraría esta opción más sencilla.