Командная строка
Панель и узел — это по одной программе с несколькими командами. Обычно вы их не набираете: всю работу делают установщики и страницы панели. Они нужны, чтобы вернуть недоступную панель, восстановить резервную копию, когда панель не запускается, или автоматизировать установку.
Установщик панели добавляет 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
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 строки заменяются сразу, прямо под ней.
Нет доступа
Любую настройку, из-за которой панель может стать недоступной, можно изменить из командной строки, не запуская панель:
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.
Забытый пароль
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 задаёт его сразу, но оставляет его в истории оболочки.
Сброс также выключает двухфакторную аутентификацию для этой учётной записи, чтобы её можно было заново подключить в панели, и завершает все открытые сессии учётной записи. Работающая панель может ещё до минуты активности принимать закешированную сессию; если это важно, перезапустите панель.
Доступ закрыт блокировкой
Пять неудачных входов с одного адреса блокируют его, и блокировка переживает перезапуск. Две настройки определяют, чей это адрес и кого никогда не блокировать:
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 | Показывает команды |
Установщик узла — отдельный скрипт, который отдаёт ваша панель; его параметры перечислены в Добавление узла.
Связанные страницы
- Файлы и порты: где обе программы хранят файлы и какие переменные окружения читают.
- Решение проблем: проблемы по симптомам.
