Один из вариантов развертывания модуля Artix Virtual Pos (VPOS) – установка через docker-контейнер.

Установка docker

В качестве примера для установки docker выбрана ОС Ubuntu 22.04.

Для установки docker необходимо:

  1. Установить Docker Engine, выполнив команды:

    sudo apt-get remove docker docker-engine docker.io containerd runc
    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    sudo apt-get update
    sudo apt-get install docker-ce


  2. Получить сертификат для доступа к хранилищу docker-образов, выполнив команду:

    curl -fsSL http://downloads.artix.su/static/downloads/docker/vpos_env/import_docker_cert.sh | sudo /bin/bash - && ls -1 /etc/docker/certs.d/*/*


    Для замены просроченного сертификата скачать и запустить скрипт http://downloads.artix.su/static/downloads/docker/vpos_env/change_trusted_docker_cert.sh, выполнив команду:

    wget -qO- http://downloads.artix.su/static/downloads/docker/vpos_env/change_trusted_docker_cert.sh | bash


    В директории /etc/docker/certs.d/dockerregistry.artix.su:2443 будут размещены файлы сертификата:

  3. Перезапустить docker, выполнив команду:

    sudo service docker restart


  4. Посмотреть версии VPOS доступные для скачивания, выполнив команды:

    cd /etc/docker/certs.d/dockerregistry.artix.su\:2443/
    curl --cacert ./ca.crt --key ./client.key --cert ./client.cert https://dockerregistry.artix.su:2443/v2/artix-vpos/tags/list


  5. Скачать VPOS, выполнив команду:

    В команде необходимо указать версию VPOS, для которой необходимо создать docker-контейнер.


    docker pull dockerregistry.artix.su:2443/artix-vpos:artix-4.6.238-5


Запуск Artix Virtual Pos

Запуск VPOS из контейнера производится выполнением команды вида:

docker run --restart=always -p8090:8090 -p7795:7795 \
--mount src=mysql_vpos1,dst=/linuxcash/cash/data/mysql \
--mount src=conf_vpos1,dst=/linuxcash/cash/conf \
--mount src=qpid_vpos1,dst=/var/spool/qpid \
--mount src=puppet_ssl_vpos1,dst=/var/lib/puppet/ssl \
-ePUPPET_SERVER_NAME="srv-saas-demo.dmz" -ePUPPET_SERVER_IP="localhost" \
-eCASH_SHOP_CODE=100 -eCASH_CASH_CODE=10 \
-eSTART_SERVICES="qpid sync nes mysql vpos" \
-eMYSQLSERVER_SERVERDB="false" \
-eMYSQLSERVER_HOST="localhost" \
-eMYSQLSERVER_PORT="3306" \
-eMYSQLSERVER_USER="root" \
-eMYSQLSERVER_PASSWORD="" \
-eCATALOGFACTORY_DBNAME="dictionariesAll" \
-eDISCOUNT_DBNAME="dictionariesAll" \
-d --hostname vpos-docker-100-10 --name vpos1 \
-ti dockerregistry.artix.su:2443/artix-vpos:artix-4.6.238-5

Работа с docker-контейнером VPOS

Команда docker с опцией run запускает новый контейнер:

Просмотр точек монтирования осуществляется при выполнении команды:

docker volume ls

Подключение к VPOS для управления выполняется командой:

docker exec -ti vpos1 bash

Для удаления контейнера с VPOS необходимо остановить ее и выполнить команду удаления:

docker stop vpos1
docker rm vpos1

Переменные окружения

Работа с кассой

Работа с удаленной БД

Подключение к удаленному кассовому серверу

Настройка подключения VPOS к удаленному кассовому серверу осуществляется в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/vpos.ini. Для этого необходимо задать параметры csPort, csUser, csPassword.