Конфигурация и параметры запуска
Параметры командной строки
| Параметр | Описание |
|---|---|
-c | Каталог конфигурации; можно также задать переменной окружения GATELY_CONFIG_DIR |
-listen | Переопределяет адрес, на котором слушает интерфейс управления, например :16680 |
-apply | Каталог декларативной конфигурации; можно также задать переменной окружения GATELY_APPLY_DIR, см. ниже |
-version | Выводит сведения о версии |
| Переменная окружения | Описание |
|---|---|
GATELY_INITIAL_PASSWORD | Начальный пароль администратора при первом запуске (не короче 8 символов), если не задан — используется пароль по умолчанию gately.cn; не действует, если учётная запись уже существует |
Каталог конфигурации
Вся конфигурация хранится в каталоге конфигурации: по одному открытому файлу <name>.json на модуль, запись атомарная, права на файлы 0600. Поэтому:
- файлы можно просматривать в любом текстовом редакторе;
- каталог можно вести в git, проверять каждое изменение через diff и в любой момент откатываться;
- для резервной копии достаточно скопировать каталог.
Внимание
ssl.json содержит закрытые ключи сертификатов. Перед добавлением в репозиторий убедитесь, что он приватный, или внесите этот файл в список игнорируемых.
Декларативная конфигурация
С параметром -apply <каталог> при каждом запуске файлы <имя>.json из этого каталога копируются поверх файлов в каталоге конфигурации; файлы с тем же содержимым не перезаписываются. Это удобно, когда конфигурация хранится в git-репозитории, Kubernetes ConfigMap или скриптах развёртывания и раздаётся централизованно.
- Перед записью проверяется, что каждый файл — корректный JSON; если хотя бы один файл некорректен, запуск отменяется;
account.jsonиtokens.jsonперезаписывать нельзя: учётные записи и токены управляются только в интерфейсе управления;- Перезаписанное старое содержимое сохраняется в истории конфигурации, и к нему можно откатиться в любой момент.
Каталог внешних программ
Модули Tailscale, frp и cloudflared управляют официальными внешними программами и ищут исполняемый файл в таком порядке:
- путь, указанный в настройках модуля;
PATH;- подкаталог
bin/в каталоге конфигурации.
При развёртывании в Docker достаточно положить бинарный файл в смонтированный каталог конфигурации, например ./gately-data/bin/frpc. Для Tailscale нужны оба файла: tailscale и tailscaled. Подробнее: Tailscale / frp / cloudflared.
Журналы работы
Журналы работы системы и всех модулей по умолчанию записываются в logs/ в каталоге конфигурации, поэтому после перезапуска или обновления они по-прежнему доступны на странице системных журналов и на страницах модулей:
- Один файл JSON Lines на источник:
logs/<ID модуля>.log, системные журналы —logs/gately.log. При запуске из файла восстанавливаются последние записи, не больше значения «Строк журнала в памяти»; - Новые записи пишутся пакетами с задержкой не более 1 секунды. Файл, превысивший предел (по умолчанию 2 МБ), ротируется в
.1, и хранится только этот предыдущий файл, так что каждый источник занимает не более двойного предела; - В разделе «Настройки → Сеть и работа → Параметры работы» можно отключить «Сохранять журналы на диск» или изменить «Предел файла журнала»; изменения применяются сразу. Если сохранение выключено, журналы хранятся только в памяти и очищаются при перезапуске;
- Очистка журналов модуля в интерфейсе удаляет и его файлы;
- Резервные копии конфигурации не включают
logs/и журнал аудитаaudit.log.
Резервное копирование и восстановление
В разделе «Настройки» доступны резервное копирование и восстановление конфигурации; там же находится вход для импорта конфигурации из Lucky.