Настоящая инструкция описывает процедуру установки и первоначальной настройки XK Server Management Platform (XKSM) версии 2.64.0 на серверах под управлением операционных систем семейства Linux.
XKSM поставляется в виде набора Docker-контейнеров и разворачивается с помощью Docker Compose. Такой подход обеспечивает совместимость с широким спектром Linux-дистрибутивов и упрощает процедуру обновления.
| Вариант | Описание |
|---|---|
| Онлайн (bootstrap) | Автоматическая загрузка и развёртывание через скрипт |
| Оффлайн (tar.gz архив) | Пакет для изолированных сетей без доступа в интернет |
| Облачный образ | Готовый образ виртуальной машины для популярных гипервизоров |
| Компонент | Минимальные требования | Рекомендуемые |
|---|---|---|
| CPU | 4 ядра, x86-64 | 8+ ядер |
| RAM | 8 ГБ | 16–32 ГБ |
| HDD/SSD | 50 ГБ свободного места | 200+ ГБ SSD |
| Сетевой интерфейс | 1 Гбит/с | 10 Гбит/с |
| Компонент | Версия | Примечание |
|---|---|---|
| ОС | Linux (64-bit) | Debian 12, Ubuntu 22.04, РЕД ОС 7.3+, Astra Linux 1.7 |
| Docker Engine | 24.0+ | Официальный пакет от Docker Inc. |
| Docker Compose | v2.20+ | Входит в Docker Desktop или устанавливается отдельно |
| Python | 3.12+ | Только для dev-режима без Docker |
| Порт | Протокол | Назначение |
|---|---|---|
| 443 | TCP (HTTPS) | Веб-интерфейс (XKSM Frontend) |
| 80 | TCP (HTTP) | Редирект на HTTPS |
| 8099 | TCP | API-сервер (опционально, если не за reverse proxy) |
| Порт | Протокол | Назначение |
|---|---|---|
| 443 | TCP | Redfish API (HTTPS) |
| 80 | TCP | Redfish API (HTTP, legacy) |
| 623 | UDP/TCP | IPMI |
| 22 | TCP | SSH (сбор OS-логов, опционально) |
# Убедиться, что Docker установлен
docker --version
docker compose version
# Если Docker не установлен (Ubuntu/Debian):
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
# Скачать и запустить установщик
curl -fsSL https://install.xkserv.ru/install.sh | bash
Скрипт выполнит:
1. Проверку системных требований
2. Создание директории /opt/xksm/
3. Загрузку конфигурационных файлов
4. Скачивание Docker-образов из реестра
5. Генерацию случайных паролей и ключей
6. Первоначальный запуск всех сервисов
7. Применение миграций базы данных
# Установка с кастомными параметрами
curl -fsSL https://install.xkserv.ru/install.sh | bash -s -- \
--domain app.example.ru \
--admin-email admin@example.ru \
--data-dir /data/xksm
Обратитесь в техническую поддержку ООО «XK» для получения оффлайн-архива
(xksm-2.64.0-offline.tar.gz) и лицензионного файла (LICENSE.xksm).
# 1. Скопировать архив на целевой сервер
scp xksm-2.64.0-offline.tar.gz user@server:/opt/
# 2. Распаковать
cd /opt
tar -xzf xksm-2.64.0-offline.tar.gz
# 3. Перейти в директорию установки
cd xksm-2.64.0
# 4. Загрузить Docker-образы из архива
docker load -i images/xksm-backend.tar
docker load -i images/xksm-frontend.tar
docker load -i images/postgres.tar
docker load -i images/redis.tar
docker load -i images/clickhouse.tar
docker load -i images/qdrant.tar
# 5. Скопировать файл лицензии
cp /path/to/LICENSE.xksm ./
# 6. Запустить установщик
./install-offline.sh
git clone https://git.xkserv.ru/xk/xksm-platform.git
cd xksm-platform
# Скопировать пример переменных окружения
cp .env.example .env
# Отредактировать .env — обязательные параметры:
# DB_PASSWORD=<случайный_пароль>
# REDIS_PASSWORD=<случайный_пароль>
# JWT_SECRET_KEY=<случайный_ключ_RS256>
# SECRET_KEY=<случайный_AES_ключ>
# LICENSE_KEY=<ключ_лицензии>
nano .env
cd infrastructure
docker compose -f docker/docker-compose.dev.yml up -d
# Запускает: PostgreSQL 16, Redis 7, Qdrant 1.9, ClickHouse 24.8
cd backend
# Создать виртуальное окружение Python
python3 -m venv .venv
source .venv/bin/activate
# Установить зависимости
pip install -r requirements.txt
# Применить миграции БД
alembic upgrade head
# Запустить API-сервер (dev-режим с Swagger UI)
DEBUG=true uvicorn main:app --host 0.0.0.0 --port 8099 --reload
cd backend
source .venv/bin/activate
celery -A tasks.celery_app worker \
--loglevel=info \
-Q critical,normal,background,firmware,inspect,monitor
cd frontend
npm install
npm run dev # dev-сервер на :5173
# или
npm run build && npm run preview # production-сборка
/opt/xksm/
├── .env — основные настройки (пароли, ключи)
├── docker-compose.yml — описание сервисов
├── nginx/
│ └── nginx.conf — конфигурация Nginx (reverse proxy)
├── data/
│ ├── postgres/ — данные PostgreSQL
│ ├── redis/ — данные Redis
│ ├── clickhouse/ — данные ClickHouse
│ └── qdrant/ — векторная БД Qdrant
└── backups/ — резервные копии
# Приложение
APP_ENV=production
APP_VERSION=2.64.0
DEBUG=false
# База данных PostgreSQL
DB_HOST=postgres
DB_PORT=5432
DB_NAME=xksm
DB_USER=xksm_user
DB_PASSWORD=<СГЕНЕРИРОВАТЬ_НАДЁЖНЫЙ_ПАРОЛЬ>
# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=<СГЕНЕРИРОВАТЬ_НАДЁЖНЫЙ_ПАРОЛЬ>
# ClickHouse
CLICKHOUSE_HOST=clickhouse
CLICKHOUSE_PORT=9000
# JWT и безопасность
SECRET_KEY=<32_БАЙТА_BASE64>
JWT_ALGORITHM=RS256
JWT_ACCESS_TOKEN_EXPIRE=30 # минут
# Лицензия
LICENSE_KEY=<ЛИЦЕНЗИОННЫЙ_КЛЮЧ>
LICENSE_SERVER_URL=https://license.xkserv.ru
Рекомендуется использовать SSL-сертификат от доверенного российского УЦ (например, «Крипто-Про», УЦ ФНС, НУЦ Минцифры).
# Разместить сертификаты в:
/opt/xksm/nginx/ssl/server.crt
/opt/xksm/nginx/ssl/server.key
# Nginx автоматически подхватит их при следующей перезагрузке
docker compose restart nginx
Поддерживается автоматический выпуск сертификата через Let's Encrypt (для серверов с доступом в интернет):
./scripts/setup-ssl.sh --domain app.example.ru --email admin@example.ru
cd /opt/xksm
docker compose up -d
docker compose down
docker compose ps
# Все сервисы
docker compose logs -f
# Только backend
docker compose logs -f xksm-backend
# Только frontend
docker compose logs -f xksm-frontend
docker compose restart xksm-backend
После запуска сервисов откройте браузер и перейдите на:
https://your-server-address/
Если первоначальная настройка не была выполнена, автоматически откроется Setup Wizard. Следуйте шагам мастера:
После завершения Setup Wizard: 1. Войдите под учётной записью администратора 2. Перейдите в Настройки → Лицензия 3. Нажмите [Активировать лицензию] 4. Для онлайн-активации: введите лицензионный ключ → [Активировать онлайн] 5. Для оффлайн-активации: скопируйте Hardware ID → отправьте в ООО «XK» → получите файл активации → загрузите через [Загрузить файл активации]
cd /opt/xksm
# Создать резервную копию перед обновлением
./scripts/backup.sh
# Скачать новые образы
docker compose pull
# Применить новые миграции БД (если есть)
docker compose run --rm xksm-backend alembic upgrade head
# Перезапустить с новыми образами
docker compose up -d
curl -s http://localhost:8099/api/v1/system/info | grep version
# Откат к предыдущей версии образов
docker compose down
docker tag xksm-backend:2.63.0 xksm-backend:latest # вернуть предыдущий тег
docker compose up -d
# Откат миграций БД (если требуется)
docker compose run --rm xksm-backend alembic downgrade -1
ℹ️ Обновления всегда инициируются клиентом. Автоматических принудительных обновлений с внешних серверов не предусмотрено.
┌──────────────────┐
│ Load Balancer │
│ (Keepalived/VIP) │
└────────┬─────────┘
│
┌────────────┴────────────┐
│ │
┌──────▼──────┐ ┌───────▼──────┐
│ XKSM Node 1│ │ XKSM Node 2 │
│ (Primary) │ │ (Replica) │
└──────┬──────┘ └──────┬───────┘
│ │
┌──────▼──────────────────────▼───────┐
│ PostgreSQL + Redis Cluster │
│ (Streaming Replication/Sentinel) │
└──────────────────────────────────────┘
cd infrastructure
docker compose -f docker/docker-compose.ha.yml up -d
Подробная конфигурация HA: infrastructure/ha/
# Проверка API
curl -sk https://localhost/api/v1/system/health
# Ожидаемый ответ:
# {"status": "ok", "version": "2.64.0", "database": "ok", "redis": "ok"}
| Проблема | Причина | Решение |
|---|---|---|
| Сайт недоступен | Nginx не запустился | docker compose logs nginx |
| Ошибка 502 | Backend не отвечает | docker compose logs xksm-backend |
| Ошибка подключения к БД | Неверный пароль или адрес | Проверить DB_PASSWORD в .env |
| Celery задачи не выполняются | Redis недоступен | docker compose logs redis |
| Лицензия не активирована | Нет доступа к license.xkserv.ru | Использовать оффлайн-активацию |
# Просмотр логов всех компонентов за последний час
docker compose logs --since=1h
# Просмотр ошибок backend
docker compose logs xksm-backend 2>&1 | grep -i error
cd /opt/xksm
# Остановить и удалить контейнеры
docker compose down -v
# Удалить данные (НЕОБРАТИМО!)
sudo rm -rf /opt/xksm/data/
# Удалить файлы установки
sudo rm -rf /opt/xksm/
⚠️ Убедитесь в наличии актуальной резервной копии данных перед деинсталляцией.
XK Server Management Platform — Инструкция по установке v2.64.0 © ООО «XK», 2026. Все права защищены.