Перейти к основному содержимому

Установка ноды

Исходный код

Панель — xray-panel/backend · нода — xray-panel/node · страница подписки — xray-panel/subscription-page

Нода — контейнер на прокси-сервере. Она сама никуда не подключается: панель обращается к ней по HTTPS с mutual TLS и JWT.

1. Получите SECRET_KEY​

В панели: Nodes → создать ноду. Панель покажет SECRET_KEY — длинную base64-строку. Скопируйте её целиком: она одноразовая.

Внутри неё сертификаты и ключи: CA, сертификат ноды, приватный ключ и публичный ключ JWT. Нода проверяет их при старте и отказывается работать, если что-то не сходится.

2. Запуск​

docker run -d \
--name xpanel-node \
--restart unless-stopped \
--network host \
--cap-add NET_ADMIN \
--ulimit nofile=1048576:1048576 \
-e NODE_PORT=2222 \
-e SECRET_KEY="<вставьте SECRET_KEY>" \
ghcr.io/xray-panel/node:latest

Тот же вариант в виде compose:

docker-compose.yml
services:
xpanelnode:
image: ghcr.io/xray-panel/node:latest
container_name: xpanel-node
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
ulimits:
nofile:
soft: 1048576
hard: 1048576
environment:
- NODE_PORT=2222
- SECRET_KEY=${SECRET_KEY}
ОпцияЗачем
--network hostXray слушает порты сам; проброс портов ломает определение реального IP клиента
--cap-add NET_ADMINнужен плагинам (блокировка торрентов через nftables); без плагинов можно убрать
--ulimit nofileвысокий лимит дескрипторов для большого числа соединений

3. Проверка​

В логе ноды при старте печатается отчёт о проверке SECRET_KEY и версия ядра:

docker logs -f xpanel-node
Xray version: Xray 26.9.9

Панель должна показать ноду как подключённую в течение минуты. Если нода не появляется:

  • проверьте, что NODE_PORT доступен с сервера панели (nc -vz <ip ноды> 2222), а не из вашего браузера;
  • убедитесь, что SECRET_KEY скопирован целиком, без переносов строк;
  • посмотрите лог контейнера — при неверном ключе нода пишет причину отказа.

4. Плагины​

Плагины ноды (например, torrent-blocker) ставятся на странице ноды в панели. Для плагинов, работающих с nftables, нужен NET_ADMIN и ядро с модулем nftables. Если плагины не используются — флаг можно не добавлять.

5. Логи Xray​

docker exec -it xpanel-node xlogs

Очистка — в панели на странице Logs, раздел «Node system logs», кнопка «Clear logs». Нода выполнит ротацию файла, Xray при этом не перезапускается и трафик не прерывается. Вручную:

docker exec -it xpanel-node cli --clear-logs

Несколько нод​

Добавляйте ноды по одной: каждая получает собственный SECRET_KEY и собственный сертификат. Общий ключ на несколько серверов не предусмотрен — при компрометации одного сервера пришлось бы перевыпускать все.