Passando a chave API de email para o container sem codificação rígida no app.yml

Olá! Tenho o aplicativo de configuração do Discourse, app.yml, rastreado em um repositório git (junto com o restante da configuração do servidor).

Naturalmente, gostaria de manter o DISCOURSE_SMTP_PASSWORD fora do repositório git, então quero passá-lo separadamente. Existe uma maneira recomendada de fazer isso?

Eu tentei:

Usar a seção env_file: do docker-compose, junto com o env:, para tentar passar um arquivo separado:

env_file:
  - path: /var/discourse/containers/creds.env

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en
  ...


====== creds.env ======
DISCOURSE_SMTP_PASSWORD="..."

mas não consegui fazer o docker captar a variável de ambiente.

Tentei passá-la para --docker-args,
sudo /var/discourse/launcher rebuild app --docker-args DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD
Mas isso falha imediatamente:
docker: invalid reference format: repository name must be lowercase.

Obrigado por este software maravilhoso e espero que todos estejam se cuidando :)))

2 curtidas

Ei, bem-vindo de volta!

Acredito que a sintaxe correta seria algo como:

./launcher rebuild app --docker-args "-e DISCOURSE_SMTP_PASSWORD=\"password\""

Com --env-file, isso também deve funcionar:

./launcher rebuild app --docker-args "--env-file=/var/discourse/containers/creds.env"
2 curtidas

Funcionou muito bem!

(Para posteridade: precisei ajustar um pouco as aspas também, assim:

./launcher rebuild app --docker-args "-e DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD"

Caso contrário, recebi **ERRO** - 535 Falha na autenticação - e na última linha da saída do console de reconstrução, você pode ver que há um conjunto extra de aspas na linha de comando. Acho que a declaração da variável env_file provavelmente também não deveria ter aspas ao redor, ao contrário da minha postagem original.)

Muito obrigado pela ajuda e tenha um ótimo dia!

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.