A instância do Discourse está localizada atrás do GFW, portanto, usamos um proxy SOCKS5 para Git. Temos alguns plugins instalados, então reconstruir ou inicializar o aplicativo clona todos esses repositórios repetidamente. Infelizmente, a clonagem resulta em tempo limite regularmente, então todo o processo começa do zero, mesmo que a base de código mais recente já esteja clonada. Gastei mais de 40 tentativas e desperdicei cerca de cinco horas. A última barreira é um sub-processo yarn dentro do contêiner, que geralmente atinge o tempo limite, resultando em uma atualização falha.
Existe alguma maneira de estruturar o app.yml, para que pelo menos eu não invoque todo o processo de clonagem de plugins? Clonar no código do docker-manager e na base de código do discourse tem uma chance de 50/50, com a clonagem subsequente em cerca de 1/3 de taxa de sucesso. Não sei o que causa a falha do sub-processo yarn, mas no momento parece não ser possível trazer o Discourse de volta à vida com os métodos fornecidos.
Claro, fui estúpido o suficiente para invocar launcher destroy app pois queria inicializá-lo manualmente, então nem consigo fazer um launcher enter app para tentar executar o comando yarn manualmente. Alguém tem alguma ideia? Obrigado pela sua contribuição.