Skip to main content
ipmideck поставляется с одной консольной командой, ipmideck, которая запускает сервер, сбрасывает пароль администратора или генерирует самоподписанный сертификат.
CLI применяется только при прямом запуске ipmideck (установка pip или исходный код). Образ Docker запускает uvicorn backend.main:app напрямую и никогда не вызывает CLI, поэтому ни один из этих флагов, приоритет привязки или защита единственного экземпляра не применяются к контейнеру. Привязка контейнера задаётся его собственной командой запуска. См. Установку.

Запуск сервера

start это основная команда обслуживания. Голый вызов без подкоманды обслуживает идентично, поэтому эти варианты эквивалентны:
Без флагов ipmideck привязывается к 0.0.0.0:3000 по умолчанию, доступен на каждом интерфейсе, на порту 3000. Откройте http://<your-ip>:3000, как только он запущен. Переопределите привязку с помощью --host и --port:

Подкоманды

serve это устаревший псевдоним start, предпочитайте start (или голый ipmideck) в новых скриптах.

Флаги

Эти флаги верхнего уровня применяются к пути обслуживания. --demo и --config читаются перед любой ветвью подкоманды, поэтому они также влияют на reset-password и --gen-cert.

Приоритет привязки

Хост и порт, к которым ipmideck фактически привязывается, разрешаются в этом порядке, наивысший приоритет первым:
  1. Явный флаг --host / --port в командной строке.
  2. Конфигурация, которая сама разрешает переменную окружения (IPMIDECK_SERVER_HOST / IPMIDECK_SERVER_PORT) над config.yaml над встроенным значением по умолчанию.
  3. Жёстко заданный резервный вариант 0.0.0.0:3000, используемый, если ранняя загрузка конфигурации завершается неудачей.
Иными словами: значение, которое вы сохраняете в config.yaml, переопределяется переменной окружения IPMIDECK_ или флагом --host / --port при следующей загрузке, окружение и CLI всегда побеждают. Если config.yaml неправильно сформирован, ipmideck печатает предупреждение в stderr и возвращается к 0.0.0.0:3000.
Переменные окружения IPMIDECK_SERVER_HOST и IPMIDECK_SERVER_PORT используют префикс IPMIDECK_. См. Конфигурацию для полного списка переопределений.

HTTPS с —gen-cert

--gen-cert генерирует самоподписанный сертификат и ключ, затем выходит. Он не запускает сервер и не включает HTTPS сам по себе:
Он записывает пару cert + ключ в data/certs/, записывает их пути в блок server в config.yaml и печатает три строки:
Чтобы действительно обслуживать по HTTPS, установите server.https: true в config.yaml и перезапустите ipmideck. HTTPS никогда не включается автоматически.

Демо-режим

--demo запускает ipmideck на симулированном оборудовании вместо реальных BMC, полезно для оценки панели без подключённых серверов:
Демо-режим устанавливается очень рано, перед любой ветвью подкоманды, поэтому всё приложение (конфигурация и запущенный сервер) его видит.

Сброс пароля администратора

reset-password интерактивно создаёт или обновляет вход администратора, затем выходит, ни разу не запуская сервер:
Он запрашивает Username:, а затем New password: (скрытый ввод). Если учётная запись уже существует, он обновляет пароль этого пользователя и печатает Password updated for <username>; иначе создаёт пользователя и печатает User <username> created.

Автоперезагрузка для разработки

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

Коды выхода

На пути обслуживания (не --reload) ipmideck запускает защиту единственного экземпляра перед привязкой. Если порт уже используется, он печатает ошибку в stderr и завершается с 1. Если привязка завершается неудачей, потому что адрес недоступен или не разрешён, он печатает отдельную ошибку и также завершается с 1.

Следующие шаги