diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index f12276f2..17d1a79c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -341,9 +341,19 @@ services: REDIS_URL: redis://redis:6379/2 SECRET_KEY: ${GLITCHTIP_SECRET} PORT: "8080" - EMAIL_URL: consolemail:// + # Почта отключена по умолчанию: consolemail:// печатает письмо в stdout и + # никуда его не отправляет. Реальный адрес приходит из /opt/gendesign/.env + # (GLITCHTIP_EMAIL_URL) — в репозитории пароля почтового ящика быть не должно. + # + # ВАЖНО про схему DSN (django-environ, парсер GlitchTip): для порта 465 с + # implicit SSL нужна схема smtp+ssl://, а НЕ smtps:// — вторая помечена + # deprecated и включает STARTTLS (EMAIL_USE_TLS), то есть 465 с ней рвёт + # соединение. Для 587/STARTTLS схема — smtp+tls://. + # smtp+ssl://alerts%40meraocenka.ru:ПАРОЛЬ@smtp.beget.com:465 + # Логин — почтовый адрес целиком, @ в нём кодируется как %40. + EMAIL_URL: ${GLITCHTIP_EMAIL_URL:-consolemail://} GLITCHTIP_DOMAIN: https://errors.gendsgn.ru - DEFAULT_FROM_EMAIL: errors@gendsgn.ru + DEFAULT_FROM_EMAIL: ${GLITCHTIP_FROM_EMAIL:-errors@gendsgn.ru} ENABLE_USER_REGISTRATION: "true" ENABLE_ORGANIZATION_CREATION: "false" restart: always @@ -375,6 +385,15 @@ services: REDIS_URL: redis://redis:6379/2 SECRET_KEY: ${GLITCHTIP_SECRET} CELERY_WORKER_AUTOSCALE: "1,3" + # Письма и веб-хуки шлёт celery, то есть ИМЕННО этот контейнер, а не web. + # До этой правки почтовых переменных здесь не было вовсе: настройка одного + # glitchtip-web не дала бы ни одного отправленного письма — worker брал + # умолчания образа. Значения обязаны совпадать с web (см. комментарий там). + EMAIL_URL: ${GLITCHTIP_EMAIL_URL:-consolemail://} + DEFAULT_FROM_EMAIL: ${GLITCHTIP_FROM_EMAIL:-errors@gendsgn.ru} + # Нужен для абсолютных ссылок внутри писем и веб-хуков: без него + # уведомление приходит со ссылкой в никуда. + GLITCHTIP_DOMAIN: https://errors.gendsgn.ru restart: always mem_limit: 384m networks: [default]