Установка DVT из GitHub

DVT — открытый продукт. Исходный код опубликован в репозитории Denvic-Tech/dvt на GitHub, ядро распространяется под AGPL-3.0. Для установки DVT не нужны лицензионный ключ и учётная запись в реестре контейнеров. Отдельные расширения, например Bitrix24 Connector, лицензируются отдельно.

Ниже описана новая установка на Linux-сервер. Скрипт из GitHub запускает веб-установщик, в котором вы задаёте параметры и запускаете сервисы DVT. Готовые Docker-образы загружаются из публичного реестра; собирать приложение из исходников для этого способа не требуется.

Если вам нужна инструкция командного установщика с лицензионным ключом, см. «Установка DVT с помощью единого командного скрипта».

1. Подготовьте сервер

Потребуются:

Проверьте инструменты и доступность Docker:

git --version curl --version sudo docker info sudo docker compose version

Установщик проверяет наличие Docker и Compose, но не устанавливает их.

Сетевой доступ

С сервера должен быть доступ по HTTPS к ресурсам, используемым при установке:

Ресурс

Назначение

github.com

Клонирование репозитория DVT и подмодуля интерфейса

raw.distribution.denvic.tech

Загрузка файлов Docker Compose

cr.distribution.denvic.tech

Загрузка публичных Docker-образов DVT

Docker Hub и его сервисы доставки образов

Загрузка PostgreSQL и Valkey

Для обращения из браузера нужны два разных порта:

  • 8888 — веб-установщик;

  • 80 — интерфейс установленного DVT по умолчанию. Порт приложения можно изменить в веб-мастере.

Веб-установщик управляет контейнерами через Docker socket. Ограничьте доступ к его порту административной сетью или правилами межсетевого экрана.

2. Получите установщик из GitHub

В терминале Linux-сервера выполните:

git clone --recurse-submodules https://github.com/Denvic-Tech/dvt.git cd dvt chmod +x install.sh ./install.sh

Параметр --recurse-submodules загружает также подмодуль интерфейса DVT. Команды соответствуют разделу установки в README проекта.

При запуске скрипт запросит:

Параметр

Значение по умолчанию

Что указать

Каталог данных DVT

/var/lib/dvt

Каталог на сервере для конфигурации и данных сервисов

Внешний порт веб-установщика

8888

Свободный порт для доступа к мастеру установки

Чтобы принять значение по умолчанию, нажмите Enter. При необходимости скрипт запросит пароль sudo.

Каталог клонированного репозитория dvt и каталог данных /var/lib/dvt имеют разное назначение: в первом находятся исходники, во втором — файлы работающей установки.

Скрипт создаст каталог данных и сеть dvt-net, сохранит настройки запуска установщика в .env.installation_manager, загрузит Compose-файл и запустит контейнер dvt-installation_manager.

Запуск без вопросов в терминале

Вместо интерактивного запуска можно указать каталог и порт явно:

./install.sh --non-interactive --dir /var/lib/dvt --port 8888

Этот режим запускает веб-установщик без вопросов в терминале. Параметры самого DVT по-прежнему задаются в браузере.

Старые параметры --license, --version, --public-url, --pg-pass и --fernet-key больше не используются скриптом запуска. Версия DVT, URL и секреты настраиваются в веб-мастере.

3. Откройте веб-установщик

После сообщения об успешном запуске откройте:

  • На самом сервере: http://localhost:8888.

  • С другого компьютера: http://<адрес-сервера>:8888.

Замените <адрес-сервера> реальным IP-адресом или DNS-именем. Если при запуске выбран другой порт установщика, используйте его.

Откроется страница «DVT — установка и обновление». На новой установке она показывает форму параметров. Если обнаружен уже установленный DVT, открывается экран обновления — это другой сценарий, не новая установка.

4. Заполните параметры DVT

Основные параметры

Поле

Что указать

Каталог данных

Отображается каталог, заданный при запуске скрипта через --dir; в форме он не редактируется

Версия DVT (tag образов)

По умолчанию latest. Для установки конкретной версии укажите соответствующий тег образов; сведения о версиях доступны в релизах GitHub

Внешний порт

Порт интерфейса DVT, по умолчанию 80. Например, 8080, если порт 80 уже занят

Количество task-worker'ов

Число обработчиков задач, по умолчанию 1. Форма допускает от 1 до 64; выбирайте значение с учётом ресурсов сервера

Публичные URL

Укажите адрес, по которому пользователи будут открывать DVT. Например:

  • http://192.168.1.50 — доступ к серверу по IP на порту 80;

  • http://192.168.1.50:8080 — доступ на выбранном внешнем порту 8080;

  • https://dvt.company.ru — доступ через настроенный HTTPS-прокси.

Для доступа с других компьютеров замените исходное значение http://localhost на адрес сервера. Несколько адресов добавляются кнопкой «+ Добавить URL».

Если хотя бы один URL начинается с https://, установщик включает secure-cookie. Указание HTTPS-адреса само по себе не устанавливает сертификат и не настраивает обратный прокси. Для такого адреса заранее обеспечьте HTTPS и передачу WebSocket-соединений через ваш прокси.

PostgreSQL и Valkey

Эти разделы задают параметры внутренних сервисов DVT:

Поле

Значение по умолчанию

Пользователь PostgreSQL

dvt-user

База данных PostgreSQL

DVT

Пароль PostgreSQL

При пустом поле генерируется автоматически

Номер базы Valkey

0

Пароль Valkey

При пустом поле генерируется автоматически

Параметры PostgreSQL здесь относятся к внутренней базе DVT. Подключения к источникам и приёмникам данных вы добавите после установки в интерфейсе приложения.

Токены сервисов

В разделе «Токены сервисов» доступны «Токен gRPC Forward Service» и «Fernet-ключ». При новой установке их можно оставить пустыми: установщик сгенерирует значения. Кнопка со значком игральной кости позволяет сгенерировать значение прямо в форме.

Заранее задавать DVT_FERNET_KEY в окружении сервера не требуется. Установщик запишет ключ и остальные секреты в /var/lib/dvt/.env или в выбранный вами каталог данных. Сохраните этот файл вместе с резервной копией данных: Fernet-ключ нужен для чтения зашифрованных настроек.

AI MCP

Пользовательский AI MCP сервер по умолчанию выключен. Если он нужен, включите соответствующий переключатель. Поле внутреннего секрета можно оставить пустым для автоматической генерации.

5. Запустите установку

Нажмите «Запустить DVT» и следите за этапами и журналом выполнения. Установщик:

  1. Проверит Docker и Docker Compose.

  2. Подготовит каталоги данных и идентификатор установки.

  3. Запишет конфигурацию в .env.

  4. Загрузит docker-compose.yaml полного стека.

  5. Подготовит сеть и запустит сервисы DVT.

Дождитесь успешного завершения. Если этап завершился ошибкой, сначала изучите сообщение и журнал: отправка формы ещё не означает, что DVT запущен.

6. Проверьте результат

Откройте публичный URL, указанный в форме. Для внешнего порта 80 это, например, http://192.168.1.50, а для 8080 — http://192.168.1.50:8080.

Проверьте состояние контейнеров:

sudo docker compose --project-name dvt \ --env-file /var/lib/dvt/.env \ -f /var/lib/dvt/docker-compose.yaml ps

Если выбран другой каталог данных, замените /var/lib/dvt в командах.

Интерфейс DVT должен открываться, а контейнеры не должны постоянно перезапускаться. Далее перейдите к авторизации и управлению пользователями, настройке подключений и созданию проектов.

Если установка не завершилась

Ситуация

Что проверить

Скрипт сообщает, что Docker или Compose не найден

Установите Docker Engine и плагин Compose, проверьте команды из первого шага

Веб-установщик не открывается

Проверьте контейнер dvt-installation_manager, выбранный порт, адрес сервера и правила межсетевого экрана

Не загружается Compose-файл или образ

Проверьте DNS и доступ сервера к ресурсам из раздела «Сетевой доступ»

Порт уже занят

Выберите свободный порт установщика через --port или порт приложения в поле «Внешний порт»

После установки интерфейс недоступен

Проверьте состояние контейнеров, публичный URL и совпадение порта в адресе с настройками

Журнал веб-установщика:

sudo docker logs --tail 100 dvt-installation_manager

Журналы сервисов после создания полного стека:

sudo docker compose --project-name dvt \ --env-file /var/lib/dvt/.env \ -f /var/lib/dvt/docker-compose.yaml logs --tail 100

Источники

Инструкция сверена с публичными исходниками 24 сентября 2026 года: