API-Schlüssel für E-Mail beim Container übergeben, ohne in app.yml hardcodiert zu werden

Hallo! Ich habe die Discourse-Konfigurationsdatei app.yml in einem Git-Repository (zusammen mit der restlichen Serverkonfiguration) verfolgt.

Natürlich möchte ich DISCOURSE_SMTP_PASSWORD aus dem Git-Repository heraushalten und es separat übergeben. Gibt es dafür eine empfohlene Methode?

Ich habe Folgendes versucht:

Verwendung des env_file:-Abschnitts von docker-compose, zusammen mit env:, um zu versuchen, eine separate Datei zu übergeben:

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

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


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

Aber ich konnte Docker nicht dazu bringen, die ENV-Variable zu erkennen.

Ich habe versucht, sie an --docker-args zu übergeben:
sudo /var/discourse/launcher rebuild app --docker-args DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD
Aber das schlägt sofort fehl:
docker: ungültiges Referenzformat: Repository-Name muss klein geschrieben sein.

Vielen Dank für diese wunderbare Software und ich hoffe, Ihnen allen geht es gut :)))

2 „Gefällt mir“

Willkommen zurück!

Ich glaube, die richtige Syntax wäre so etwas wie:

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

Mit --env-file sollte das auch funktionieren:

./launcher rebuild app --docker-args "--env-file=/var/discourse/containers/creds.env"
2 „Gefällt mir“

Das hat super funktioniert!

(Für die Nachwelt: Ich musste auch die Anführungszeichen etwas anpassen, so:

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

Andernfalls erhielt ich **FEHLER** - 535 Authentifizierung fehlgeschlagen - und in der letzten Zeile der Konsolenausgabe des Rebuilds kann man sehen, dass in der Befehlszeile ein zusätzliches Anführungszeichenpaar vorhanden ist. Ich denke, die Deklaration der env_file-Variable sollte wahrscheinlich auch keine Anführungszeichen haben, im Gegensatz zu meinem ursprünglichen Beitrag.)

Vielen Dank für die Hilfe und einen wunderschönen Tag!

2 „Gefällt mir“

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