Необходимо установить Docker Compose: https://docs.docker.com/compose/
Создайте на диске папку vzljotsp. Все последующие дейсвия выполняются из этой папки. Создайте файл docker-compose.yml, возможные варианы содержания этого файла ниже.
services:
vsp:
image: hub.vzljot.ru/vzljotsp:latest
ports:
- "5511:5511" # порт службы приложений
- "5512:5512" # порт службы обработки данных
- "5513:5513" # порт службы опроса
- "5515:5515" # порт для входящих соединений OPC UA клиентов
- "2060:2060" # порт для входящих соединений адаптеров связи
- "2061:2061" # порт для входящих соединений Lora
- "8080:80" # порт Web-интерфейса
- "5005:5005" # порт Wcf для службы расширений
- "5006:5006" # порт Http для службы расширений
volumes:
- ./data/var:/var/VzljotSp # папка с данными
- ./data/etc:/etc/VzljotSp # папка с настройками
environment:
TZ: "Europe/Moscow" # часовой пояс
Запустите приложение командой:
docker compose up -d
После первого запуска контейнера его необходимо настроить, для этого введите команду:
docker compose exec vsp setup
Далее нужно перезапустить контейнер командой:
docker compose restart vsp
Посмотреть логи запуска контейнера можно выполнив команду:
docker compose logs vsp
services:
vsp:
image: hub.vzljot.ru/vzljotsp:latest
depends_on:
- "db"
ports:
- "5511:5511" # порт службы приложений
- "5512:5512" # порт службы обработки данных
- "5513:5513" # порт службы опроса
- "5515:5515" # порт для входящих соединений OPC UA клиентов
- "2060:2060" # порт для входящих соединений адаптеров связи
- "2061:2061" # порт для входящих соединений Lora
- "8080:80" # порт Web-интерфейса
- "5005:5005" # порт Wcf для службы расширений
- "5006:5006" # порт Http для службы расширений
volumes:
- ./data/var:/var/VzljotSp # папка с данными
- ./data/etc:/etc/VzljotSp # папка с настройками
environment:
TZ: "Europe/Moscow" # часовой пояс
VZLJOTSP_DATASOURCE_PROVIDER: "Postgres" # провайдер
VZLJOTSP_DATASOURCE_SERVER: "db" # сервер базы данных
VZLJOTSP_DATASOURCE_USER: "postgres" # имя пользователя
VZLJOTSP_DATASOURCE_PASSWORD: "postgres_password" # пароль
VZLJOTSP_DATASOURCE_DATABASE: "VzljotSp" # база данных
#VZLJOTSP_DATASOURCE_PORT: "5432" # порт (по умолчанию: 5432)
#VZLJOTSP_DATASOURCE_USESSL: "false" # используется ли шифрование (по умолчанию: false)
#VZLJOTSP_DATASOURCE_SCHEME: "public" # схема (по умолчанию: public)
db:
image: postgres:16
volumes:
- ./data/postgresdata:/var/lib/postgresql/data
environment:
TZ: "Europe/Moscow"
POSTGRES_PASSWORD: postgres_password
Запустите приложение командой:
docker compose up -d
services:
vsp:
image: hub.vzljot.ru/vzljotsp:latest
depends_on:
- "db"
ports:
- "5511:5511" # порт службы приложений
- "5512:5512" # порт службы обработки данных
- "5513:5513" # порт службы опроса
- "5515:5515" # порт для входящих соединений OPC UA клиентов
- "2060:2060" # порт для входящих соединений адаптеров связи
- "2061:2061" # порт для входящих соединений Lora
- "8080:80" # порт Web-интерфейса
- "5005:5005" # порт Wcf для службы расширений
- "5006:5006" # порт Http для службы расширений
volumes:
- ./data/var:/var/VzljotSp # папка с данными
- ./data/etc:/etc/VzljotSp # папка с настройками
environment:
TZ: "Europe/Moscow" # часовой пояс
VZLJOTSP_DATASOURCE_SERVER: "db" # сервер базы данных
VZLJOTSP_DATASOURCE_USER: "sa" # имя пользователя
VZLJOTSP_DATASOURCE_PROVIDER: "MSSqlServer" # провайдер
VZLJOTSP_DATASOURCE_PASSWORD: "Mssql_password~" # пароль
VZLJOTSP_DATASOURCE_DATABASE: "VzljotSp" # база данных
db:
image: "mcr.microsoft.com/mssql/server"
user: root
environment:
TZ: "Europe/Moscow"
MSSQL_SA_PASSWORD: Mssql_password~
ACCEPT_EULA: "y"
volumes:
- ./data/sqldata:/var/opt/mssql/data
Запустите приложение командой:
docker compose up -d
Использование сервера базы данных Firebird не рекомендуется.
services:
vsp:
image: hub.vzljot.ru/vzljotsp:latest
depends_on:
- "db"
ports:
- "5511:5511" # порт службы приложений
- "5512:5512" # порт службы обработки данных
- "5513:5513" # порт службы опроса
- "5515:5515" # порт для входящих соединений OPC UA клиентов
- "2060:2060" # порт для входящих соединений адаптеров связи
- "2061:2061" # порт для входящих соединений Lora
- "8080:80" # порт Web-интерфейса
- "5005:5005" # порт Wcf для службы расширений
- "5006:5006" # порт Http для службы расширений
volumes:
- ./data/var:/var/VzljotSp # папка с данными
- ./data/etc:/etc/VzljotSp # папка с настройками
environment:
TZ: "Europe/Moscow" # часовой пояс
VZLJOTSP_DATASOURCE_PROVIDER: "Firebird" # провайдер
VZLJOTSP_DATASOURCE_SERVER: "db" # сервер базы данных
VZLJOTSP_DATASOURCE_USER: "SYSDBA" # имя пользователя
VZLJOTSP_DATASOURCE_PASSWORD: "firebird_password" # пароль
VZLJOTSP_DATASOURCE_DATABASE: "/firebird/data/VzljotSp.fbd" # база данных
db:
image: jacobalberty/firebird:3.0
volumes:
- ./data/firebird:/firebird
environment:
TZ: "Europe/Moscow"
ISC_PASSWORD: "firebird_password"
Дополнительные настройки environment:
services:
vsp:
...
environment:
...
VZLJOTSP_ACTIVATECODE: "XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX" # код активации
VZLJOTSP_SYSTEMNODE_NAME: "Взлет СП" # наменование экземпляра сервера
VZLJOTSP_LOGLEVEL: "Error" # уровень протоколирования
# Error - ошибки
# Warning - предупреждения
# Information - сообщения
# Debug - отладочная информация
# Trace - подробная отладочная информация
VZLJOTSP_MAKEBACKUP: "true" # создавать ли резервную копию базы данных при обновлении
# (true|false)
VZLJOTSP_INTERNALFLAGS: "" # дополнительные флаги
VZLJOTSP_OPCSERVICE_CLIENTHOST: "<host>" # opc.tcp://<host>:5515/VzljotSp/Opc
VZLJOTSP_OPCSERVICE_CLIENTPORT: "5515" # opc.tcp://<host>:5515/VzljotSp/Opc
VZLJOTSP_SERIALPORTS: "/dev/ttyS4;/dev/ttyS5" # Если системе не удалось автоматически определить доступные порты, то можно указать их.
Добавить СOM-порты можно только если хост-компьютер работает под управлением Linux. Определяем доступные COM-порты командой:
sudo dmesg | grep tty
[ 0.062845] printk: console [tty0] enabled
[ 1.254177] 00:01: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
Определили, что доступен COM-порт ttyS1. Добавим этот COM-порт в контейнер:
services:
vsp:
...
devices:
- "/dev/ttyS1:/dev/ttyS1"
Запустите приложение командой:
docker compose up -d
Для того, чтобы обновить приложение до последней версии выполните команды:
docker compose pull
docker compose up -d
В примерах устанавливается последняя версия Взлет СП. Если необходимо установить определенную версию Взлет СП, то замените тег latest на номер необходимой версии (4.0.x.x).
services:
vsp:
image: hub.vzljot.ru/vzljotsp:4.0.x.x
Если необходимо установить последнюю версию с форума, то замените тег latest на forum.
services:
vsp:
image: hub.vzljot.ru/vzljotsp:forum
Взлет СП в ОС Linux может работать только с аппаратными ключами Guardant Sign. На самом ключе должно быть написано "Guardan Sign". Если у вас на ключе написано "Guardant S2", то это аппаратный ключ Guardant Stealth II. Такой ключ не будет работать в ОС Linux!
Для работы с ключами в ОС Linux необходимо добавить правило для штатного средства обработки HotPlugging. На большинстве современных дистрибутивов, таким средством является udev (https://ru.wikipedia.org/wiki/Udev).
Загрузите архив udev-rules.tar.gz командой:
wget https://sp-soft.vzljot.ru/files/vzljotsp/udev-rules.tar.gz
Распакуйте файлы командой:
tar -xvf udev-rules.tar.gz
Выполните установку правил командой:
./install.sh
После успешной установки правил нужно отсоединить электронный ключ от USB-порта и подсоединить повторно. В системе должно появиться устройство /dev/grdhid0, именно его и нужно пробрасывать в docker-контейнер:
services:
vsp:
...
devices:
...
- "/dev/grdhid0:/dev/grdhid0"