fix(caddy): разделение сайтов по хостам доходит до контейнера #3088

Merged
lekss361 merged 1 commit from fix/3059-caddy-sites-env into main 2026-08-24 21:44:14 +00:00

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