Existe um modelo TOR para discourse:
Ele foi atualizado pela última vez há 6 anos, então não tenho certeza se ainda funcionaria, mas se funcionar, isso deve te ajudar. Leia o modelo para entender como ele funciona.
Você precisará incluir o modelo em seu app.yml e definir o link DISCOURSE_ONION (que é o seu endereço .onion).
Discussão adicional: Template for serving through an .onion address with Docker