Entonces, por lo que entiendo, la mejor manera es mantener todo por separado.
Servidor principal para ejecutar Discourse. Luego un servidor para PostgreSQL y S3 (o cualquier otro servicio de almacenamiento de objetos) para las cargas.
El archivo app.yml me parece que no cambia a menudo, por lo que solo necesitas guardarlo una vez. O como mucho unas pocas veces durante el mes.
Esto te permite hacer copias de seguridad de tus archivos, incluso de una manera más organizada.
Si es así, encuentro que su decisión de no implementar copias de seguridad diarias múltiples en el núcleo tiene sentido. Por otro lado, aquellos que tienen necesidades complejas ciertamente harán configuraciones particulares como esa. Y al final, solo necesitas rehacer la instalación (con el app.yml guardado en algún lugar) y luego volver a conectarlo a la base de datos y al S3 para las cargas de datos. Las copias de seguridad están en esos 2 servidores por separado, por lo que es fácil de administrar para mí. Me parece una solución muy justa.
Gracias a todos por la explicación.