Non sono sicuro, ma penso che il problema sia probabilmente che discourse è in esecuzione all’interno di un container docker e quindi non può accedere per impostazione predefinita al tuo container postgres separato.
Credo che tu debba esporre il database utilizzando questo tipo di configurazione GitHub - discourse/discourse_docker: A Docker image for Discourse
Potrebbe anche essere necessario rimuovere il template postgres dal file app.yml.
Questi documenti potrebbero essere utili: anche se non stai eseguendo su un server separato, tutto il resto dovrebbe essere pertinente.
Spero che questo aiuti!