axottle — единый бинарник: он же запускает панель (axottle serve), он же служит CLI для управления и диагностики. После установки команда доступна из PATH на сервере панели.
Запуск без аргументов открывает интерактивный терминальный интерфейс (TUI) — то же самое, что axottle tui.
Для кого: администратор, SRE. Требуемые права: обычные команды — любой пользователь с доступом к API панели;
axottle admin reset-password — только root, sudo или владелец каталога установки панели.Общие флаги
Большинство команд (status, version, doctor, license) принимают общий набор флагов:
Язык вывода:
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 и печатает состояние панели.
running, — удобно для мониторинговых скриптов.
axottle version (v)
Печатает версию сборки CLI и — живым запросом к API — версию работающей панели.
axottle doctor
Проверяет сервер панели и показывает состояние служб, базы данных, диска, сети, DNS, TLS и подключённых компонентов.
OK, Warning, Failed, Skipped или Unknown. Рядом указано, что обнаружено и какое действие рекомендуется. Найденная проблема не обрывает остальные проверки: Doctor старается показать всё, что удалось узнать о сервере. Последний результат сохраняется и доступен из TUI через View last diagnosis.
Команду следует запускать на сервере панели. Если база данных недоступна, остальные проверки всё равно выполняются, а состояние базы будет показано как проблема. Для проверки данных из PostgreSQL Doctor использует конфигурацию установленной панели.
axottle logs <component>
Показывает логи компонента. Компоненты: backend (по умолчанию; frontend — синоним backend), worker, scheduler, nginx.
Команда сама подбирает источник в порядке: логи Docker Compose → journald (
journalctl -u axottle…) → файлы логов в стандартных каталогах.
axottle license status (info)
Печатает секрето-безопасный статус лицензии: состояние, план, срок действия, grace-период, время последней проверки, включённые и заблокированные функции. Ключ лицензии выводится в маскированном виде.
axottle license activate <key>
Активирует ключ лицензии через POST /api/v1/license/activate.
axottle license refresh
Принудительно перепроверяет лицензию на сервере лицензий (POST /api/v1/license/refresh). При временной недоступности сервера ранее активная лицензия переходит в grace-период (по умолчанию 72 часа, настраивается AXOTTLE_LICENSE_GRACE_HOURS); окончательный отрицательный вердикт grace-период не даёт.
axottle license remove
Удаляет лицензию с этой установки (POST /api/v1/license/remove).
axottle admin reset-password (reset)
Офлайн-сброс пароля администратора панели — работает напрямую с базой данных, без API и без действующей сессии.
Права: команда выполняется только с привилегиями на сервере панели — root, sudo либо владелец каталога установки. Без них команда отказывает.
Поведение: команда показывает список администраторов (при нескольких — интерактивный выбор), запрашивает подтверждение (пропускается флагом
--yes), сохраняет в базе хеш нового пароля, записывает событие в audit-журнал и печатает новый пароль в терминал.
axottle help (-h, --help)
Печатает справку по командам.
Проверка
CLI настроен корректно, если
axottle status показывает running, а axottle doctor завершает все проверки без статуса Failed.Откат
Сводка отката для команд, меняющих состояние:
Команды
status, version, doctor, logs, license status — только чтение, откат не требуется.
Типовые ошибки
CLI не может достучаться до API панели
CLI не может достучаться до API панели
По умолчанию CLI ходит на
http://localhost:8080. Если панель слушает другой адрес или порт — укажите --api <url> или экспортируйте AXOTTLE_API_URL. Проверьте, что сервис запущен: systemctl status axottle.doctor или admin reset-password не находят базу данных
doctor или admin reset-password не находят базу данных
Эти команды подключаются к PostgreSQL напрямую. Экспортируйте
AXOTTLE_DB_URL в окружение или создайте .env в одном из каталогов: ./.env, /opt/axottle/.env, /var/lib/axottle/.env, ~/.axottle/.env.admin reset-password: недостаточно привилегий
admin reset-password: недостаточно привилегий
Команда требует root, sudo или владения каталогом установки панели. Запустите через
sudo axottle admin reset-password.logs: логи компонента не найдены
logs: логи компонента не найдены
Команда перебирает источники (Docker Compose → journald → файлы). Если ни один не сработал — проверьте, каким способом развёрнут компонент, и посмотрите
journalctl -u axottle напрямую.Связанные страницы
Конфигурация панели
Env-файл, рестарт сервиса, порядок изменений.
Лицензия
Активация, grace-период, деградированный режим.
Коды ошибок
HTTP-статусы API и действия оператора.
Обновления панели
Кнопка «Обновить сейчас» и скрипт обновления.
Проверено для версии Axottle текущей ветки. Дата проверки: 2026-07-12.
