fix(caddy): разделение сайтов по хостам доходит до контейнера (#3088)
All checks were successful
Deploy / build-backend (push) Successful in 39s
Deploy Infra Host / sync-infra-host (push) Successful in 4s
Deploy / changes (push) Successful in 8s
Deploy / deploy-caddy (push) Has been skipped
Deploy / build-frontend (push) Successful in 40s
Deploy / build-worker (push) Successful in 41s
Deploy / deploy (push) Successful in 1m47s
Deploy / deploy-status (push) Successful in 1s
Deploy / perimeter-smoke (push) Successful in 8s

This commit is contained in:
lekss361 2026-08-24 21:44:13 +00:00
parent de157b1024
commit bf297d196f

View file

@ -683,6 +683,20 @@ services:
# Пустой дефолт = fail-open (backend не проверяет) → ничего не ломается до
# провижининга. Значение задаётся руками в /opt/gendesign/.env на VPS.
TRADEIN_INTERNAL_AUTH_SECRET: ${TRADEIN_INTERNAL_AUTH_SECRET:-}
# #3059: какие site-блоки импортирует Caddyfile (`import
# caddy/sites/{$CADDY_SITES:*}.caddy`). Плейсхолдер раскрывает САМ Caddy
# из окружения СВОЕГО контейнера, а не compose из файла окружения хоста —
# поэтому переменную обязательно пробрасывать сюда. Без этой строки
# значение с хоста до Caddy не доходит и всегда работает дефолт `*`,
# то есть оба файла сразу, а разделение хостов молча не срабатывает:
# после переезда (#3057) Caddy на продовом хосте начал бы выпускать
# сертификаты для obsidian/errors/git, чей DNS остаётся на
# инфраструктурном хосте — HTTP-01 падает, а Let's Encrypt считает
# неудачи (5 на домен в час).
# Дефолт `*` = сегодняшнее поведение бит в бит: пока переменная не задана
# ни на одном хосте, импортируются оба файла, как и до этой строки.
# В окне: на продовом хосте CADDY_SITES=apps, на инфраструктурном=infra.
CADDY_SITES: ${CADDY_SITES:-*}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy/users.caddy.snippet:/etc/caddy/caddy/users.caddy.snippet:ro