mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 09:14:58 +03:00
Сохранить порядок дополнительных Compose-файлов при обновлении и подключать их помощнику на чтение. Добавить проверки override, постоянных каталогов dev-данных и документацию проекта. Явно задать русский язык в тестах русских подписей.
47 lines
2.8 KiB
Markdown
47 lines
2.8 KiB
Markdown
# Установка за существующим 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`.
|