@Geoffrey_Challen Você pode criar uma imagem com o repositório do Discourse e os plugins, instalar as gems do Ruby e outras dependências e enviá-la para um registro (como o DockerHub). Esse repositório seria agnóstico ao ambiente e poderia ser público (a menos que você inclua um plugin privado ou algo do tipo). Essa imagem base poderia ser usada em ambientes de staging e produção e até mesmo em projetos diferentes (se eles usarem os mesmos plugins).
Passos como a pré-compilação dos assets, a migração do banco de dados e a geração do certificado SSL devem ser executados na máquina de destino, no entanto, para gerar a imagem final.
Não sei exatamente como incluir isso em um cluster k8s, embora. Optei pela abordagem conservadora e a utilizei com base no guia oficial da equipe do Discourse, apenas separando em 2 etapas.