- Python 86.4%
- Shell 13.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| scripts | ||
| server | ||
| .gitattributes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| deploy.sh | ||
| install.sh | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
Система АЗАБРИС — клиенты отображения экранов
Набор тонких клиентов для Android, Windows, Linux, которые превращают любой экран/ТВ/ПК в управляемое табло системы «АЗАБРИС». Вся верстка и логика — на сервере; клиент лишь привязывается к серверу и открывает назначенный экран в полноэкранном WebView (киоск).
Идея
- Запуск приложения → ввод адреса сервера.
- Клиент регистрируется, в админке появляется заявка.
- Администратор одобряет/отклоняет, назначает (или создаёт) экран и может переименовать устройство.
- После одобрения клиент открывает экран и показывает то, что настроил админ.
- Любое изменение сетки/панелей увеличивает версию конфигурации; клиент подхватывает изменения.
- Кнопка «Найти» подсвечивает конкретное физическое устройство.
- Клиент рапортует applied_version → админ видит «актуально/устарело».
Что уже реализовано на сервере
- Таблица
devices(+device_displays— мультидисплейные клиенты), версия конфигурации у экранов (screens.config_version). - API устройств: регистрация (со списком мониторов), bootstrap, heartbeat, админ-CRUD, approve/reject/identify, назначение экранов каждому дисплею.
- Страница показа
/display/device/{token}?display=Nи раздел админки «Устройства» (в т.ч. кнопка «Дисплеи»).
Документы
- docs/USER_GUIDE.md — инструкция по работе в системе (что к чему).
- docs/VERSIONING.md — учёт версий (формат, правила, синхронизация прод/копия/пакет).
- CHANGELOG.md — история изменений по версиям.
- docs/ARCHITECTURE.md — как всё устроено, потоки, роли.
- docs/SERVER_API.md — все эндпоинты с примерами (curl).
- docs/PROTOCOL.md — протокол привязки, heartbeat, версии, identify.
- docs/CLIENT_SPEC.md — требования к клиенту, экраны, киоск, хранение.
- docs/OPERATOR_APP.md — API и протокол для нативного приложения оператора очереди (уведомления о талонах, WebSocket).
- docs/ANDROID.md — разработка и сборка APK (Kotlin + WebView).
- docs/WINDOWS.md — варианты (WebView2/.NET, Tauri, Electron) и сборка.
- docs/LINUX.md — варианты (GTK/WebKitGTK, PySide6, Tauri) и упаковка.
- docs/TESTING.md — сценарии проверки и приёмки.
Развёртывание сервера
Быстрая установка одной командой (Ubuntu/Debian/Astra, RHEL, Arch, openSUSE, ALT):
curl -fsSL https://repo.abrisoft.ru/azabris/azabris/raw/branch/main/install.sh | sudo bash
Скрипт сам скачает актуальный пакет с репозитория и поставит сервер (backend + frontend +
nginx + systemd) с пустой базой (admin / admin123). Параметры:
curl -fsSL https://repo.abrisoft.ru/azabris/azabris/raw/branch/main/install.sh | \
sudo bash -s -- --dir /opt/azabris --port 2332 --backend-port 8032
Классический способ (из распакованного пакета):
sudo bash server/install-server.sh # меню: установить / обновить / диагностика / удалить
Ставит backend + frontend + nginx + systemd с пустой базой (admin / admin123).
Подробнее — server/README.md.
Требование: Python ≥ 3.10 (в коде —
dict[str,int],int | None). На Astra Linux 1.7 поставьтеpython3.11из репозитория Astra:sudo apt-get install python3.11 python3.11-venv. Установщик сам подберёт подходящий интерпретатор (или задайтеAZABRIS_PYTHON=/usr/bin/python3.11).
Клиенты
Готовые установщики клиентов (Windows, Android) публикуются в отдельной ветке clients
(папки по версиям, Git LFS; теги client-*). В этой ветке (main) — сервер и веб.
Быстрый старт клиента (что должен делать минимум)
- Сгенерировать/сохранить
uid(UUID v4). - Ввести адрес сервера, проверить
GET /api/health. POST /api/devices/register→ сохранитьtoken.- Открыть WebView на
{server}/display/device/{token}(веб-страница сама покажет ожидание/одобрение/экран). - Держать экран включённым, автозапуск, полноэкранный режим.
Сервер уже берёт на себя весь UI привязки на странице
/display/device/{token}— клиенту достаточно нативно показать ввод адреса и открыть WebView.
Лицензия
Правообладатель — ИП Постнов Андрей Васильевич (бренд Азабрис) https://azabris.ru.
Лицензия: проприетарная. Программа распространяется и используется бесплатно;
изменение и распространение — только с письменного разрешения правообладателя.
Текст условий — в файле LICENSE и NOTICE.
Copyright (C) 2026 ИП Постнов Андрей Васильевич (Азабрис). ОГРНИП 318554300021653 · ИНН 550313751064 · г. Омск.
Доработки по требованию заказчика, внедрение, интеграции и сопровождение —
платные услуги по отдельному договору (см. docs/SERVICES.md).
Программа предоставляется «КАК ЕСТЬ», без гарантий.
Исходный код (для ознакомления): https://repo.abrisoft.ru/azabris/azabris.