Pasar la clave API de correo electrónico al contenedor sin codificarla en app.yml

¡Hola! Tengo la aplicación de configuración de Discourse, app.yml, registrada en un repositorio de Git (junto con el resto de la configuración del servidor).

Naturalmente, me gustaría mantener DISCOURSE_SMTP_PASSWORD fuera del repositorio de Git, así que quiero pasarlo por separado. ¿Hay alguna forma recomendada de hacerlo?

He intentado:

Usar la sección env_file: de docker-compose, junto con env:, para intentar pasar un archivo separado:

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

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


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

pero no he podido conseguir que docker reconozca la variable de entorno.

Intenté pasarlo a --docker-args,
sudo /var/discourse/launcher rebuild app --docker-args DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD
Pero eso falla inmediatamente:
docker: invalid reference format: repository name must be lowercase.

Gracias por este maravilloso software y espero que todos estéis bien :)))

2 Me gusta

¡Hola, bienvenido de nuevo!

Creo que la sintaxis correcta sería algo como:

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

Con --env-file, esto también debería funcionar:

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

¡Eso funcionó de maravilla!

(para que conste: también tuve que ajustar un poco las comillas, así:

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

De lo contrario, obtuve **ERROR** - 535 Authentication failed - y en la última línea de la salida de la consola de reconstrucción se puede ver que hay un conjunto adicional de comillas en la línea de comandos. Creo que la declaración de la variable env_file probablemente tampoco debería tener comillas, a diferencia de mi publicación original.)

¡Muchas gracias por la ayuda y que tengas un día maravilloso!

2 Me gusta

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