Переменные окружения
Полный справочник по переменным окружения XUI_* в 3x-ui — база данных, панель, логирование, память, шифрование токенов узлов и монитор работоспособности туннеля.
3x-ui читает свою конфигурацию во время выполнения из переменных окружения
XUI_*. При установке через скрипт инсталлятор записывает их в файл окружения
службы (/etc/default/x-ui, либо /etc/conf.d/x-ui / /etc/sysconfig/x-ui в
зависимости от дистрибутива); для Docker они задаются в docker-compose.yml или
через docker run -e. Значения по умолчанию разумны — задавайте только то, что
нужно изменить, после чего перезапустите: systemctl restart x-ui.
База данных
| Variable | Default | Description |
|---|---|---|
XUI_DB_TYPE | sqlite | Бэкенд: sqlite или postgres (также принимаются postgresql / pg). |
XUI_DB_FOLDER | /etc/x-ui | Папка для файла базы данных SQLite (x-ui.db). |
XUI_DB_DSN | — | Строка подключения к PostgreSQL (используется при XUI_DB_TYPE=postgres). |
XUI_DB_MAX_OPEN_CONNS | — | Максимум открытых соединений в пуле PostgreSQL. |
XUI_DB_MAX_IDLE_CONNS | — | Максимум простаивающих соединений в пуле PostgreSQL. |
Путь к базе данных SQLite по умолчанию — /etc/x-ui/x-ui.db. Подробности о
переходе SQLite ↔ PostgreSQL см. в разделе
База данных.
Панель
| Variable | Default | Description |
|---|---|---|
XUI_PORT | — | Переопределение порта панели (1–65535). Имеет приоритет над сохранённой настройкой. |
XUI_INIT_WEB_BASE_PATH | / | Начальный базовый веб-путь при первом запуске (например, /panel). |
XUI_ENABLE_FAIL2BAN | true | Включить ограничение по IP на основе Fail2ban. |
XUI_SKIP_HSTS | false | Не отправлять заголовок HSTS — установите true, когда TLS терминируется обратным прокси. |
Шифрование токенов узлов
API-токены узлов — и сохранённый токен PIA — по умолчанию хранятся в открытом
виде. Шифрование при хранении включается явно и отказывает безопасно: при любом
режиме, кроме off, панель не запустится, если не сможет загрузить ключ.
| Variable | Default | Description |
|---|---|---|
NODE_TOKEN_ENCRYPTION | off | off, migration (чтение принимает открытый текст или шифротекст, запись всегда шифрует) или required (запись та же, но без ключа запуск не удастся). Префикса XUI_ здесь нет. |
XUI_NODE_TOKEN_KEY_FILE | /etc/x-ui/node_token_key.json | JSON-связка ключей с правами 0600 или строже. Загружается первой. |
XUI_NODE_TOKEN_KEY | — | Один 32-байтный ключ в base64, читается только при неудачной загрузке файла ключей. Его идентификатор фиксирован (env), поэтому ротация невозможна. |
Файл ключей задаёт активный ключ и все прежние ключи, ещё нужные для расшифровки:
{ "active": "k1", "keys": { "k1": "<base64 32-byte key>" } }Сгенерируйте ключ командой openssl rand -base64 32; ключи никогда не
принимаются в аргументах командной строки. После включения режима перешифруйте
строки, уже находящиеся в базе, активным ключом:
x-ui encrypt-tokensКоманда обрабатывает строки узлов; токен PIA перешифровывается при следующем
чтении. Для ротации добавьте новый ключ в keys, укажите его в active,
сохраните старый ключ для расшифровки и снова выполните x-ui encrypt-tokens.
Логирование и бинарные файлы
| Variable | Default | Description |
|---|---|---|
XUI_LOG_LEVEL | info | debug, info, notice, warning или error. |
XUI_DEBUG | false | Режим отладки (принудительно устанавливает уровень логирования debug). |
XUI_LOG_FOLDER | /var/log/x-ui | Каталог для вывода логов. |
XUI_BIN_FOLDER | bin | Папка для бинарного файла Xray-core и файлов geosite/geoip. |
Память и профилирование
Панель удерживает потребление памяти низким за счёт GOGC и периодических
освобождений. Это продвинутые параметры — оставьте их незаданными, если только
вы не настраиваете хост с ограниченными ресурсами.
| Variable | Default | Description |
|---|---|---|
XUI_GOGC | — | Целевой процент сборщика мусора Go; ниже = меньше RAM, чуть больше нагрузка на CPU. |
XUI_MEMORY_RELEASE_INTERVAL | — | Минуты между вызовами FreeOSMemory; 0 отключает. |
XUI_MEMORY_LIMIT | — | Мягкий лимит памяти Go в MiB. |
GOMEMLIMIT | — | Мягкий лимит в синтаксисе Go (например, 400MiB); имеет приоритет над предыдущим. |
XUI_PPROF | false | Открыть профилирование pprof на 127.0.0.1:6060. |
Xray
| Variable | Default | Description |
|---|---|---|
XRAY_VMESS_AEAD_FORCED | false | Принудительно включить VMess AEAD. |
Монитор работоспособности туннеля
Опциональный сторож: он опрашивает URL (опционально через локальный входящий Xray) и перезапускает Xray после нескольких неудачных попыток подряд. Перезапуск обрывает все подключённые клиенты, поэтому включайте его осознанно.
| Variable | Default | Description |
|---|---|---|
XUI_TUNNEL_HEALTH_MONITOR | false | Включить монитор. |
XUI_TUNNEL_HEALTH_PROXY | — | Прокси, через который отправляется проба, например socks5://127.0.0.1:1080. Пусто = проверяется только доступность хоста. |
XUI_TUNNEL_HEALTH_URL | https://www.cloudflare.com/cdn-cgi/trace | URL для опроса. |
XUI_TUNNEL_HEALTH_INTERVAL | 30s | Интервал между пробами. |
XUI_TUNNEL_HEALTH_TIMEOUT | 10s | Тайм-аут одной пробы. |
XUI_TUNNEL_HEALTH_FAILURES | 3 | Количество неудач подряд до перезапуска. |
XUI_TUNNEL_HEALTH_COOLDOWN | 5m | Минимальная задержка между перезапусками. |
Автоматическая установка
| Variable | Description |
|---|---|
XUI_NONINTERACTIVE | Установите 1 (или запустите без TTY), чтобы выполнить установку без единого запроса; сгенерированные учётные данные записываются в /etc/x-ui/install-result.env. См. Установку. |

3x-ui