Em uma instalação padrão, o Discourse (e, portanto, os plugins) é executado dentro de um contêiner Docker. Esse contêiner não tem acesso completo ao sistema de arquivos do host, portanto, não pode acessar o diretório /var/discourse do host para modificar app.yml ou executar launcher.
E mesmo que pudesse… há uma pequena dependência circular aqui. Executar ./launcher rebuild mataria o contêiner Docker… o que mataria o launcher rebuild que você iniciou a partir do plugin ![]()
Existem soluções potenciais aqui. Por exemplo, adicionar montagens de volume Docker adicionais, para que a configuração/launcher possa ser acessada de dentro do contêiner. Mas não é trivial.
Se bem me lembro, alguém já criou um plugin ‘gerenciador de plugins’… que exigia alguns ajustes no app.yml para adicionar coisas como a montagem de volume. Mas não consigo encontrar nenhum tópico sobre isso agora, então presumo que não seja mais mantido. Talvez alguém possa compartilhar um link se conseguir encontrá-lo? (ou talvez tenha sido tudo um sonho
)
Do lado da CDCK, definitivamente optamos por usar temas quando queremos que os clientes possam instalar/atualizar/desinstalar à vontade. Permitir que as pessoas instalem plugins arbitrariamente não é uma opção, pois isso afetaria outros clientes que executam no mesmo servidor.