Skip to content

Командная строка ​

Панель и узел — это по одной программе с несколькими командами. Обычно вы их не набираете: всю работу делают установщики и страницы панели. Они нужны, чтобы вернуть недоступную панель, восстановить резервную копию, когда панель не запускается, или автоматизировать установку.

Установщик панели добавляет nexora-panel в PATH, а программа сама находит свой файл конфигурации, поэтому любая команда работает из любого каталога. В Docker добавьте впереди docker compose exec panel /app/: docker compose exec panel /app/nexora-panel config list.

nexora-panel ​

КомандаЧто делает
run [-config FILE] [-listen IP:PORT]Запускает панель. Это делает служба
migrate [-config FILE] [-user U -pass P]Создаёт или обновляет таблицы базы. С -user и -pass ещё и создаёт главного администратора — для установки без браузера; без них панель откроет мастер настройки
config listПоказывает общие настройки панели
config get KEYЧитает одну настройку
config set KEY VALUEЗаписывает одну настройку. "" очищает её. Большинство вступают в силу после перезапуска панели
setup-token [-rotate]Печатает одноразовый токен мастера настройки или заменяет его новым
admin listПеречисляет учётные записи администраторов и отмечает владельца панели
admin reset-password [-user U] [-pass P]Задаёт пароль администратора
restore FILE [-passphrase P] [-yes]Заменяет базу из архива резервной копии
hwidПечатает Идентификатор оборудования (HWID), который показывает страница Лицензия
versionПечатает версию панели
helpПоказывает команды

-config FILE направляет команду на другой файл конфигурации. Команды, которые открывают базу, принимают его после остальных аргументов, например nexora-panel config list -config /path/to/config.json.

Настройки из командной строки ​

config читает и записывает настройки, которые может менять только главный администратор: адрес панели, домен, путь и сертификат, домены и путь подписок, резервное копирование, доверенные прокси, список разрешённых для входа адресов и ещё несколько. config list показывает их все.

Секрет, например парольная фраза резервных копий, показывается только как (set). config set отказывает ключу, который не является настройкой панели, и значению, которое панель не приняла бы. Настройки резервного копирования подхватываются в течение часа без перезапуска; для остальных перезапустите панель (systemctl restart nexora-panel).

restore ​

bash
systemctl stop nexora-panel
nexora-panel restore /var/opt/nexora/backups/nexora-backup-20260914-030000.tar.gz
systemctl start nexora-panel

Сначала команда читает архив, печатает его содержимое и предупреждения и просит ввести replace-database. В скрипте вместо этого передайте -yes. Зашифрованный архив принимает -passphrase или запрашивает фразу.

Как и в панели, настройки адреса и лицензия этого сервера сохраняются. -keep-web-settings=false и -keep-license=false берут вместо них данные из архива. Перед любыми изменениями записывается снимок текущей базы.

Сначала остановите панель. На SQLite замена происходит при следующем запуске панели, поэтому всё, что работающая панель запишет до этого, пропадёт; на PostgreSQL строки заменяются сразу, прямо под ней.

Нет доступа ​

Любую настройку, из-за которой панель может стать недоступной, можно изменить из командной строки, не запуская панель:

bash
nexora-panel config list                       # what is set
nexora-panel config set web_listen_port 2095   # a port you can reach
nexora-panel config set web_listen_ip ""       # listen everywhere again (IPv4 and IPv6)
nexora-panel config set web_domain ""          # stop restricting the hostname
nexora-panel config set web_basepath ""        # serve at the root again
nexora-panel config set sub_domain ""          # stop reserving hosts for subscriptions
systemctl restart nexora-panel

На последней многие попадаются, когда у панели нет базового пути. Домен в sub_domain отдаёт подписки и ничего больше, поэтому при панели в корне эти имена её никогда не показывают. Если вы пользуетесь только этими именами, панель недоступна отовсюду. Базовый путь убирает ловушку: под ним панель доступна на любом имени.

В Docker порт задаётся в файле compose, а не через config set.

Забытый пароль ​

bash
nexora-panel admin list                        # the accounts, and which one owns the panel
nexora-panel admin reset-password              # the owner; the password is typed, not shown
nexora-panel admin reset-password -user alice  # any other account

Без -user команда сбрасывает пароль владельца панели. Новый пароль запрашивается дважды и нигде не показывается. -pass задаёт его сразу, но оставляет его в истории оболочки.

Сброс также выключает двухфакторную аутентификацию для этой учётной записи, чтобы её можно было заново подключить в панели, и завершает все открытые сессии учётной записи. Работающая панель может ещё до минуты активности принимать закешированную сессию; если это важно, перезапустите панель.

Доступ закрыт блокировкой ​

Пять неудачных входов с одного адреса блокируют его, и блокировка переживает перезапуск. Две настройки определяют, чей это адрес и кого никогда не блокировать:

bash
nexora-panel config set trusted_proxies "10.0.0.0/8"   # your reverse proxy or CDN, or empty
nexora-panel config set login_allowlist "203.0.113.7"  # addresses never banned

За прокси или CDN

Без trusted_proxies панель за обратным прокси или CDN видит любого посетителя под адресом прокси, поэтому первая же блокировка закрывает доступ всем. Укажите адреса прокси, а свой адрес держите в login_allowlist.

Когда вы снова войдёте, главный администратор может снять блокировку в Настройки → Безопасность (Безопасность).

nexora-node ​

Узел устанавливает и настраивает панель, поэтому команд у него немного:

КомандаЧто делает
run [-config FILE]Запускает узел. Это делает служба
gencerts [-dir DIR]Создаёт собственный сертификат и ключ узла для ручной установки
versionПечатает версию узла
helpПоказывает команды

Установщик узла — отдельный скрипт, который отдаёт ваша панель; его параметры перечислены в Добавление узла.

Текст и изображения — CC BY 4.0.