Перейти к основному содержанию
axottle — единый бинарник: он же запускает панель (axottle serve), он же служит CLI для управления и диагностики. После установки команда доступна из PATH на сервере панели. Запуск без аргументов открывает интерактивный терминальный интерфейс (TUI) — то же самое, что axottle tui.
Для кого: администратор, SRE. Требуемые права: обычные команды — любой пользователь с доступом к API панели; axottle admin reset-password — только root, sudo или владелец каталога установки панели.

Общие флаги

Большинство команд (status, version, doctor, license) принимают общий набор флагов:
ФлагЧто делает
--api <url>Базовый URL API панели (по умолчанию http://localhost:8080; можно задать через AXOTTLE_API_URL)
--token <токен>Bearer-токен для API-вызовов (можно задать через AXOTTLE_API_TOKEN)
--jsonВывод в формате JSON
--tableТабличный вывод
--plainПростой текстовый вывод
--verboseПодробный вывод
--debugОтладочный вывод
--yesПропустить подтверждения (для опасных команд)
Язык вывода: AXOTTLE_LANG=ru принудительно включает русский; иначе язык определяется из LANG.

Команды

axottle tui

Интерактивный терминальный интерфейс (запускается и просто командой axottle без аргументов). В нём можно проверить состояние панели, открыть Doctor, посмотреть логи, управлять лицензией, сбросить пароль администратора и узнать версию. В разделе Doctor доступны обычная диагностика, безопасное восстановление служб и сбор support bundle за выбранный период. Результаты прокручиваются стрелками, колесом мыши, Page Up / Page Down, Home / End.

axottle serve

Запускает панель: загружает конфигурацию, подключается к PostgreSQL, применяет миграции БД, поднимает API и встроенный веб-интерфейс; корректно завершается по SIGINT/SIGTERM.
В production панель запускается сервисом axottle.service — вручную axottle serve на боевом сервере запускать не нужно (второй процесс не сможет занять тот же порт). Управляйте панелью через systemctl.

axottle status

Опрашивает GET /api/v1/system/status и печатает состояние панели.
axottle status
Status:      running
Version:     <версия>
DB:          connected
Setup done:  true
Uptime:      3h12m
Завершается с ненулевым кодом, если статус отличается от running, — удобно для мониторинговых скриптов.

axottle version (v)

Печатает версию сборки CLI и — живым запросом к API — версию работающей панели.

axottle doctor

Проверяет сервер панели и показывает состояние служб, базы данных, диска, сети, DNS, TLS и подключённых компонентов.
axottle doctor
axottle doctor --json
Каждая проверка получает статус OK, Warning, Failed, Skipped или Unknown. Рядом указано, что обнаружено и какое действие рекомендуется. Найденная проблема не обрывает остальные проверки: Doctor старается показать всё, что удалось узнать о сервере. Последний результат сохраняется и доступен из TUI через View last diagnosis. Команду следует запускать на сервере панели. Если база данных недоступна, остальные проверки всё равно выполняются, а состояние базы будет показано как проблема. Для проверки данных из PostgreSQL Doctor использует конфигурацию установленной панели.
Через TUI (sudo axottleDoctor) можно выбрать период журналов, собрать support bundle, просмотреть его состав, сохранить файл локально или отправить в поддержку. Пароли, токены и ключи маскируются перед сохранением. Подробная инструкция — на странице Обслуживание и Axottle Doctor.

axottle logs <component>

Показывает логи компонента. Компоненты: backend (по умолчанию; frontend — синоним backend), worker, scheduler, nginx.
ФлагЧто делает
--tail N, -n NПоследние N строк (по умолчанию 100)
--follow, -fСледить за логом в реальном времени
--since <длительность>Логи за период, например 1h, 30m
--levelПока не поддерживается (команда выведет предупреждение)
Команда сама подбирает источник в порядке: логи Docker Compose → journald (journalctl -u axottle…) → файлы логов в стандартных каталогах.
axottle logs backend --tail 200
axottle logs backend -f

axottle license status (info)

Печатает секрето-безопасный статус лицензии: состояние, план, срок действия, grace-период, время последней проверки, включённые и заблокированные функции. Ключ лицензии выводится в маскированном виде.
axottle license status
Status:       active
Plan:         <план>
Valid until:  2026-12-31
Last checked: 2026-07-11 10:00
Features:     ...

axottle license activate <key>

Активирует ключ лицензии через POST /api/v1/license/activate.
axottle license activate axt_xxxxxxxxxxxxxxxx
Активация нового ключа заменяет текущую лицензию. Откат: активируйте прежний ключ той же командой. Все операции с лицензией записываются в audit-журнал.

axottle license refresh

Принудительно перепроверяет лицензию на сервере лицензий (POST /api/v1/license/refresh). При временной недоступности сервера ранее активная лицензия переходит в grace-период (по умолчанию 72 часа, настраивается AXOTTLE_LICENSE_GRACE_HOURS); окончательный отрицательный вердикт grace-период не даёт.

axottle license remove

Удаляет лицензию с этой установки (POST /api/v1/license/remove).
Опасная команда. После удаления лицензии панель переходит в деградированный режим: все изменяющие API-запросы возвращают 403 («панель только для чтения»), чтение продолжает работать. Поверхности восстановления остаются доступными: активация лицензии, самообновление панели, обновление агентов, аутентификация.Откат: активируйте лицензию заново — axottle license activate <key>. Активация возможна и в деградированном режиме.

axottle admin reset-password (reset)

Офлайн-сброс пароля администратора панели — работает напрямую с базой данных, без API и без действующей сессии.
ФлагЧто делает
--password <пароль>Установить заданный пароль. Без флага генерируется случайный пароль из 16 символов
--yesПропустить подтверждение
Права: команда выполняется только с привилегиями на сервере панели — root, sudo либо владелец каталога установки. Без них команда отказывает. Поведение: команда показывает список администраторов (при нескольких — интерактивный выбор), запрашивает подтверждение (пропускается флагом --yes), сохраняет в базе хеш нового пароля, записывает событие в audit-журнал и печатает новый пароль в терминал.
sudo axottle admin reset-password
Admins:
  1) <username> (admin)
Reset password for <username>? [y/N] y
New password: <сгенерированный-пароль>
Опасная команда. Прежний пароль администратора немедленно перестаёт действовать. Пароль печатается в открытом виде — запускайте в защищённом терминале и не оставляйте вывод в истории/логах сессии.Откат: прямого отката нет — прежний хеш не восстанавливается. Чтобы вернуть контроль или сменить скомпрометированный пароль, выполните команду повторно с --password <известный-пароль> либо смените пароль через панель. Факт сброса виден в audit-журнале панели.

axottle help (-h, --help)

Печатает справку по командам.

Проверка

CLI настроен корректно, если axottle status показывает running, а axottle doctor завершает все проверки без статуса Failed.
axottle status && axottle doctor

Откат

Сводка отката для команд, меняющих состояние:
КомандаЧто меняетКак откатить
license activate <key>Заменяет активную лицензиюАктивировать прежний ключ
license removeПереводит панель в деградированный режим «только чтение»axottle license activate <key> (доступно и в деградированном режиме)
admin reset-passwordЗаменяет пароль администратораПовторный запуск с --password или смена пароля в панели; прежний пароль не восстанавливается
Команды status, version, doctor, logs, license status — только чтение, откат не требуется.

Типовые ошибки

По умолчанию CLI ходит на http://localhost:8080. Если панель слушает другой адрес или порт — укажите --api <url> или экспортируйте AXOTTLE_API_URL. Проверьте, что сервис запущен: systemctl status axottle.
Эти команды подключаются к PostgreSQL напрямую. Экспортируйте AXOTTLE_DB_URL в окружение или создайте .env в одном из каталогов: ./.env, /opt/axottle/.env, /var/lib/axottle/.env, ~/.axottle/.env.
Команда требует root, sudo или владения каталогом установки панели. Запустите через sudo axottle admin reset-password.
Команда перебирает источники (Docker Compose → journald → файлы). Если ни один не сработал — проверьте, каким способом развёрнут компонент, и посмотрите journalctl -u axottle напрямую.

Связанные страницы

Конфигурация панели

Env-файл, рестарт сервиса, порядок изменений.

Лицензия

Активация, grace-период, деградированный режим.

Коды ошибок

HTTP-статусы API и действия оператора.

Обновления панели

Кнопка «Обновить сейчас» и скрипт обновления.
Проверено для версии Axottle текущей ветки. Дата проверки: 2026-07-12.