# Установка за существующим nginx Если порты 80 и 443 уже заняты nginx, он может обслуживать HTTPS-домен Chatballs и передавать запросы шлюзу установки по локальному HTTP-порту. Создайте рядом с релизным `compose.yaml` файл `compose.override.yaml`: ```yaml services: gateway: ports: !override - "127.0.0.1:8443:80" ``` Требуется Docker Compose 2.24.4 или новее. `!override` заменяет весь список портов: исходные публикации 80 и 443 не сохраняются. Здесь 8443 — внутренний HTTP-порт, а не внешний HTTPS-порт. Запустите установку с обоими файлами: ```bash docker compose -f compose.yaml -f compose.override.yaml up -d --wait ``` Внешний nginx завершает HTTPS и проксирует запросы на `http://127.0.0.1:8443`, сохраняя `Host`, передавая `X-Forwarded-Proto` и поддерживая WebSocket. Сертификат и HTTP → HTTPS редирект обслуживает внешний nginx. Открывайте мастер первого запуска по окончательному HTTPS-домену без внутреннего порта. ## Обновления из интерфейса Updater берёт список Compose-файлов из меток работающего контейнера. Первый файл заменяется новым релизом; дополнительные файлы сохраняются в исходном порядке. Поддерживаются стандартный `compose.override.yaml` и файлы с другими именами, явно переданные через `-f`. Override должен быть применён при запуске установки. Файл, который просто лежит рядом, но не входит в конфигурацию работающего проекта, при обновлении автоматически не подключается. Каталог установки и дополнительные файлы доступны помощнику обновления только на чтение. Это сохраняет разрешение `.env`, относительных `env_file` и путей конфигурации. Файлы override должны оставаться доступными по тем же путям. Пропавший или некорректный override останавливает обновление до перезапуска сервисов. Релиз перезаписывает только основной `compose.yaml`.