NAPICONFIG
Панель управления встраиваемой Linux-системой

Управление
устройством
через браузер

NAPICONFIG - веб-интерфейс для настройки, мониторинга и обслуживания Linux-систем в IoT-устройствах и промышленной автоматике. Сеть, службы, датчики, Modbus, SNMP и терминал - без SSH и правки конфигов вручную.

https://192.168.1.1
Панель мониторинга NAPICONFIG в браузере
Панель мониторинга NAPICONFIG на устройстве Napi-C (RK3308) под управлением NapiLinux
Обзор

Что такое NAPICONFIG

Это веб-приложение, которое ставится прямо на устройство и заменяет разрозненные способы его настройки. Администратор открывает браузер и получает одно место, где видно состояние системы и откуда меняются все параметры: сетевые интерфейсы, системные службы, сбор данных с датчиков, протоколы промышленного обмена.

Внутри - одностраничное приложение на Vue 3 и асинхронное REST API на FastAPI. Конфигурации хранятся в SQLite, измерения датчиков - в InfluxDB. Управление службами идет напрямую через systemd по D-Bus, сеть - через Netplan. Каждый вызов интерфейса доступен и как обычный HTTP-запрос: полное описание API публикуется в формате OpenAPI, так что устройство одинаково удобно настраивать руками и встраивать в чужую систему автоматизации.

Возможности

Восемь подсистем

Backend собран из независимых модулей. Каждый модуль отвечает за свою область и доступен через собственную группу API-методов.

network

Сеть

Полная настройка сетевого стека устройства без правки YAML вручную.

  • IPv4 и IPv6, статика и DHCP
  • Маршруты и DNS-серверы
  • VLAN-интерфейсы
  • WiFi и LTE-модемы
  • Статистика интерфейсов в реальном времени
system

Система и службы

Прямая интеграция с systemd через D-Bus.

  • Запуск, остановка, автозапуск служб
  • Логи journalctl с фильтрами
  • Перезагрузка и выключение
  • Дата, время, NTP и RTC
  • Резервные копии конфигураций
  • Сброс до заводских настроек
system_stats

Мониторинг

Текущее состояние и история по каждому ресурсу.

  • ЦП, память, диски
  • Температура компонентов
  • Трафик интерфейсов
  • Графики ECharts, история в InfluxDB
  • Выгрузка данных
sensors

Датчики и телеметрия

Сбор данных строится на Telegraf, но настраивается из интерфейса.

  • Редактор конфигураций в Monaco Editor
  • Проверка конфигурации до применения
  • Репозиторий готовых шаблонов
  • Включение и отключение датчиков
  • Графики с масштабом и множителем
modbus_gw

Шлюз Modbus

Преобразование Modbus RTU в Modbus TCP.

  • Параметры последовательного порта
  • Карта подчиненных устройств
  • Регистры и катушки
  • Конфигурация в YAML, проверка настроек
snmp

SNMP

Устройство отдается в систему верхнего уровня по SNMP.

  • SNMPv1, v2c, v3
  • Загрузка пользовательских MIB
  • Проверка MIB при загрузке
  • Просмотр SNMP-дерева
  • Режим SNMP-прокси
terminal

Веб-терминал

Командная строка устройства прямо во вкладке браузера, на базе TTYD.

  • Соединение по WebSocket
  • Одноразовые токены доступа
  • Несколько параллельных сессий
  • Работают htop, vim, journalctl
auth

Доступ и API-ключи

Вход по логину и паролю, программный доступ по ключу.

  • Пара токенов access и refresh
  • refresh в HTTP-only cookie
  • Пароли через bcrypt
  • API-ключи с областями действия
  • Ролевая модель, журнал действий
Технологии

Из чего собран

Открытый исходный код под лицензией MIT, распространяется свободно в составе NapiLinux. Никаких проприетарных зависимостей и привязки к облаку: все работает на самом устройстве.

Frontend
Vue 3.5
TypeScript 5.8, Vite 7, PrimeVue 4.3, TailwindCSS, Pinia, Vue I18n
Backend
FastAPI
Python 3.12, Uvicorn, SQLModel, Pydantic 2
Хранение
SQLite
Конфигурации и метаданные
Временные ряды
InfluxDB
Измерения датчиков, история метрик
Сбор данных
Telegraf
Modbus, SNMP и другие источники
Службы
systemd
Управление через D-Bus, dbus-fast
Сеть
Netplan
systemd-networkd и NetworkManager
Терминал
TTYD
Доступ по WebSocket
Безопасность
JWT
PyJWT, bcrypt, HTTPS, защита от CSRF
Описание API
OpenAPI
Swagger UI, генерация TypeScript-клиента
Архитектуры
ARM64 / x86-64
Промышленные одноплатники и серверы
Развертывание
Docker
Multi-arch образы и Docker Compose
Платформы

Где работает

Сегодня NAPICONFIG поставляется в составе NapiLinux и уже установлен на устройстве, которое вы получаете. Поддержка обычного Debian готовится.

Доступно сейчас

NapiLinux

Собственный дистрибутив для промышленных контроллеров и одноплатных компьютеров. NAPICONFIG входит в состав образа, службы прописаны, сертификаты и Nginx настроены: после первой загрузки интерфейс доступен по IP-адресу устройства, учетная запись администратора создается автоматически.

NAPICONFIG распространяется свободно в составе NapiLinux: отдельная лицензия и оплата не требуются.

www.napilinux.ru

В разработке

Debian

Ведется работа над установкой NAPICONFIG на обычный Debian: пакеты для amd64 и arm64, штатные unit-файлы systemd, установка на уже работающий сервер или шлюз без замены системы.

Требования: Debian 11 или новее, Python 3.12 или выше, systemd, от 512 МБ ОЗУ и 1 ГБ на диске.

# установка API из исходников
cd /opt/napiconfig/napi-api
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
sudo cp system/backend/napi-api.service /etc/systemd/system/
sudo systemctl enable --now napi-api.service

# либо контейнером
cd /opt/napiconfig/napi-api/docker
docker compose up -d

# проверка
curl https://localhost
 интерфейс открыт, панель мониторинга отвечает
Стоимость

Условия поставки

Внутри экосистемы NapiLinux продукт бесплатен. Платной может быть только работа по переносу и адаптации под чужую платформу.

В составе ОС NapiLinux
Бесплатно

NAPICONFIG поставляется бесплатно в составе операционной системы NapiLinux. Отдельная лицензия, подписка и оплата за устройство не требуются: интерфейс уже входит в образ и работает сразу после первой загрузки.

Другие дистрибутивы
По запросу

Оптимизация и адаптация под другие дистрибутивы Linux, интеграция в собственную сборку, доработка под конкретное оборудование - стоимость обсуждается индивидуально.

dmn@nnz.ru

Проверочный экземпляр

Демо-стенд

Посмотреть работу NAPICONFIG можно на реальном устройстве, а не на скриншотах.

Вы можете получить доступ к тестовому образцу NapiLinux с NAPICONFIG, написав нам запрос на почту napi@nnz.ru.

В ответ мы вышлем адрес стенда, учетные данные и порядок подключения. Доступ выдается на ограниченный срок, на стенде работают все разделы интерфейса, включая веб-терминал.

Запросить доступ
О нас

АйТи Крауд

АйТи Крауд - IT-стартап, созданный в 2022 году для разработки программных решений на основе компьютерных нейронных сетей.

NAPICONFIG - одно из наших продуктовых направлений: инструменты для промышленной автоматизации и встраиваемых Linux-систем.

it-crowd.pro