diff --git a/docker-compose.qa.yml b/docker-compose.qa.yml index 161f728..a8e48f1 100644 --- a/docker-compose.qa.yml +++ b/docker-compose.qa.yml @@ -37,6 +37,13 @@ # QA_SMTP_USER — Brevo SMTP login. Named QA_ for the same reason as the # QA_SMTP_PASSWORD database password: pasting production's variables in here # QA_SMTP_FROM must not silently work. +# +# Optional, each defaulting to the Brevo value it used to be hardcoded to, so +# QA can be aimed at another relay without editing this file: +# QA_SMTP_HOST — default smtp-relay.brevo.com +# QA_SMTP_PORT — default 587 +# QA_SMTP_SECURE — default false. Brevo is STARTTLS on 587, so this stays +# false unless the relay is changed to an implicit-TLS one. # ADMIN_GATE_SECRET — the shared secret Nginx Proxy Manager injects as the # X-Admin-Gate header on the gated location. Both sides must # hold the same value or the admin API returns 403. See #63. @@ -80,13 +87,17 @@ services: # flows — verification, password reset, favorite-sold alerts and the # cart-reminder cron — cannot be regression tested without it. See #87. # - # Host, port and secure are not secrets and are pinned here rather than - # inherited: the mailer's fallbacks are Gmail's (smtp.gmail.com, 465, - # TLS) and Brevo needs 587 with STARTTLS, which is why SMTP_SECURE is - # false. Getting these wrong fails at send time, not at boot. - - SMTP_HOST=smtp-relay.brevo.com - - SMTP_PORT=587 - - SMTP_SECURE=false + # Host, port and secure are not secrets, and they are now settable from + # the stack so QA can be pointed at a different relay without editing this + # file. Each keeps the Brevo value as its default rather than being left + # to fall through: the mailer's own fallbacks are Gmail's (smtp.gmail.com, + # 465, TLS) and Brevo needs 587 with STARTTLS, so an unset variable with + # no default here would silently aim QA at Gmail and fail at send time + # rather than at boot. `:-` supplies the default only when the variable is + # unset or empty, so setting one still wins. + - SMTP_HOST=${QA_SMTP_HOST:-smtp-relay.brevo.com} + - SMTP_PORT=${QA_SMTP_PORT:-587} + - SMTP_SECURE=${QA_SMTP_SECURE:-false} - SMTP_USER=${QA_SMTP_USER} - SMTP_PASSWORD=${QA_SMTP_PASSWORD} - SMTP_FROM=${QA_SMTP_FROM}