Установка
Установка через Docker
Репозиторий развёртывания тянет готовые образы с Docker Hub. Скачивать исходный код, чтобы запустить продукт, не нужно.
Требования
- Linux-хост с Docker Engine и Docker Compose v2
- Свободные порты из списка ниже
- Место на дисках под архив — запись займёт столько, сколько ей дадут
Запуск
git clone https://github.com/treealarm/ta_install
cd ta_install
# отредактируйте .env — см. следующий раздел
docker compose --env-file .env up -d
Первый запуск идёт долго: скачиваются образы. Когда всё устаканится, откройте:
http://<хост>:5134
Что обязательно поменять
Всё лежит в .env.
| Переменная | По умолчанию | Почему это важно |
|---|---|---|
VMS_MEDIAMTX_PUBLISH_PASS | change_me_publish | Поменяйте. Оставите как есть — публиковать на ваш медиасервер сможет кто угодно |
VMS_MEDIAMTX_READ_PASS | change_me_read | Поменяйте. Оставите как есть — забрать поток любой камеры напрямую сможет кто угодно |
POSTGRES_PASSWORD | postgres | Поменяйте |
VMS_STORAGE_BASE_PATH | /data/media_storage | Укажите том, на котором должны лежать записи |
WEB_VMS_PORT | 5134 | Поменяйте, если порт занят |
pgAdmin приезжает с [email protected] / admin123 — смените их или уберите сервис, если он вам не
нужен.
Порты
| Порт | Назначение |
|---|---|
5134/tcp | Веб-интерфейс и REST API |
8554/tcp | RTSP |
8889/tcp | Сигнализация WebRTC |
8189/udp | Медиа WebRTC. Этот порт идёт прямо в браузер — если он закрыт, живое видео не заиграет |
5432/tcp | PostgreSQL |
5050/tcp | pgAdmin |
50051/tcp | gRPC рекордера |
50005/tcp | Dapr placement |
Первая камера
Заранее ничего не настроено. При первом старте создаются том хранения по умолчанию, медиароутер по умолчанию и три профиля записи — остальное за вами.
Откройте веб-интерфейс и добавьте камеру: либо через поиск по ONVIF, либо указав RTSP-адрес. Чтобы включить распознавание: Администрирование → Аналитика, добавьте наблюдение за камерой и потоком, выберите классы. Ставить камеру на охрану для этого не обязательно — охрана управляет записью по тревоге, а не тем, смотрит ли система в кадр.
Аутентификация
По умолчанию KEYCLOAK_URL пуст: экрана входа нет, интерфейс открыт любому, кто до него дотянулся.
Заполните переменную, чтобы включить единый вход, роли и права по камерам.
Keycloak не входит в это развёртывание. Сервиса Keycloak в compose-файле нет; поднимите его сами
и направьте на него KEYCLOAK_URL, KEYCLOAK_REALM_NAME и KEYCLOAK_CLIENT_ID.
Остановка
docker compose --env-file .env down
Записи, вырезки распознавания и база лежат в ./data на хосте и это переживают. Ключ -v их
сотрёт.
Аппаратное ускорение
Пережатие архива и живое перекодирование HEVC→H.264 умеют работать на встроенном видеоядре. Это не
обязательно — без него всё работает на процессоре, — но живое перекодирование на VA-API измеренно
экономит около 43% процессорного времени на поток. Нужен проброс /dev/dri в контейнер: пример
лежит в docker-compose.gpu.yml.example репозитория развёртывания.
О лицензии встроенного детектора
В образ аналитики входит экспорт YOLO11 для детекции людей и транспорта. Ultralytics YOLO11 лицензирован под AGPL-3.0, и с сетевой оговоркой AGPL для распространяемых развёртываний это не согласовано. Если для вашего внедрения это важно — либо урегулируйте лицензию, либо замените детектор на что-то с разрешительной лицензией. Детектор лиц (OMZ face-detection-0205) — Apache-2.0.
📩 Застряли или нужен исходный код? Напишите нам