Публичное пространство
Set Sync ◾️ Синхронизация медиаконтента (загрузка изображений и видео на кассы)
https://crystals.atlassian.net/browse/CR-4122
https://crystals.atlassian.net/browse/SRTE-3039
https://crystals.atlassian.net/browse/SRTE-3054
https://crystals.atlassian.net/browse/SRTE-3055
https://crystals.atlassian.net/browse/SRTE-3061
10.2.92.0
- 1 Описание
- 2 Компоненты
- 3 Системные требования
- 4 Список необходимых портов
- 5 Настройка
- 5.1 Подготовка
- 5.1.1 Настройка часового пояса
- 5.1.1.1 Ubuntu и CentOS
- 5.1.1.2 Ubuntu и CentOS
- 5.1.1.3 Ubuntu и CentOS
- 5.1.1.4 Ubuntu
- 5.1.1.5 CentOS
- 5.1.1 Настройка часового пояса
- 5.2 MinIO
- 5.2.1.1 Ubuntu + CentOS
- 5.2.1.2 Ubuntu и CentOS
- 5.2.1.3 Ubuntu и CentOS
- 5.2.2 Автозапуск
- 5.3 Микросервис minio-forward-proxy
- 5.3.1 Установка Docker и docker-compose
- 5.3.1.1 Ubuntu
- 5.3.2 Установка микросервиса
- 5.3.1 Установка Docker и docker-compose
- 5.4 Настройка папки для загрузки контента в сервисе MinIO
- 5.5 Установка Rclone на кассе
- 5.6 Настройка SetRetail/SetCentrum
- 5.6.1 Вкладка POS
- 5.6.2 Вкладка TOUCH
- 5.6.3 Вкладка CSI-K
- 5.6.4 Вкладка SETSCO V3
- 5.6.5 Вкладка НАСТРОЙКИ
- 5.6.6 Настройка контента по магазинам
- 5.1 Подготовка
- 6 Пример работы
- 7 Отображение контента в пик-листах и карточке товара
Описание
В SetRetail10 есть функциональность по отображению изображений в плитках продаж или показ медиаконтента в LCD-мониторах. Начиная с версии 10.2.92.0 появилась возможность по обеспечению синхронизации медиаконтента с кассами (Клавиатурные, SetTouch, кассы самообслуживания).
По сути SetSync может обеспечивать централизованную передачу файлов с сервера на кассы торговой сети.
Поддерживается любой тип файлов и размера.
Внимание! Размер передаваемого файла не ограничен, но учитывайте нагрузку вашей локальной сети, а также объем жесткого диска.
Таким образом можно осуществлять как синхронизацию файлов медиаконтента (изображения, видеоролики), так и передавать любые типы файлов на кассу.
Передача файлов от кассы к серверу не предусмотрена.
Управление видеороликами и изображениями для касс осуществляется по стандартной логике, согласно техническому процессу. Изображения и файлы для использования на кассе можно синхронизировать для следующих функциональностей. В какие папки выкладывать изображения описано также в главе в этой статье.
SetTouch ◾️ Дисплей покупателя. Воспроизведение изображений и видео.
🔒 Стандартный монитор LCD (дисплей покупателя). По вопросам подключения и настройки обратитесь к вашему менеджеру.
Компоненты
MinIO — это сервер хранения объектов с открытым исходным кодом. Служба может хранить неструктурированные данные, такие как фото, видео, файлы любых типов, и предоставляет один сервер хранения объектов, объединяющий в пул множество дисков, размещенных на разных серверах.
minio-forward-proxy - компонент отвечает за отображение контента (изображений) в визуализации сервера - плитках пик-листов и карточках товаров.
Rclone — это многопоточная компьютерная программа с открытым исходным кодом, предназначенная для управления файлами в облаке и других хранилищах с высокой задержкой.
Системные требования
Компоненты MinIO и микросервис minio-forward-proxy устанавливаются на отдельной машине Linux
В таблице указаны рекомендуемые системные требования для установки сервиса MinIO и микросервиса minio-forward-proxy.
Сервер | Процессор | RAM (GB) | Disk size (GB) | Пропускная способность канала |
|---|---|---|---|---|
1 хост Linux для установки и MinIO и микросервиса | 4 ядра по 2,2 ГГц | 8 GB | SSD (объем SSD зависит от объема контента для синхронизации) | 1 Гигабит в секунду |
Список необходимых портов
Проверка доступности портов от кассы к серверу
№ порта | Тип | Назначение |
|---|---|---|
9001 | TCP | Порт должен быть открыт:
|
5678 | TCP | Отображение картинок в визуализации сервера Set10. Порт должен быть открыт между сервером Set10 и сервером MinIO. ⚠️Указан номер порта для примера при установке по данной инструкции. |
Настройка
Подготовка
Настройка часового пояса
1. Выполните команду для проверки часового пояса:
Ubuntu и CentOS
timedatectl2. Чтобы вывести список зон для Европы выполните команду:
Ubuntu и CentOS
timedatectl list-timezones | grep Europe3. Чтобы вывести список зон для Азии выполните команду:
Ubuntu и CentOS
timedatectl list-timezones | grep Asia4. Найдите в списке регион с нужным часовым поясом. Например, для Москвы необходимо установить Europe/Moscow.
5. Выполните команду для установки часового пояса:
Ubuntu
sudo timedatectl set-timezone Europe/MoscowCentOS
timedatectl set-timezone Europe/Moscow6. Командой timedatectl проверьте правильность настройки часового пояса.
7. Для синхронизации времени на серверах воспользуйтесь рекомендациями из статьи.
MinIO
Пример настройки на образе CentOS SetRetail.
1. Создайте каталог:
Ubuntu + CentOS
sudo mkdir /home/minio2. Перейдите в созданную папку:
cd /home/minio/3. Выполните команду для загрузки актуального программного пакета minio:
Ubuntu и CentOS
sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio4. Дождитесь окончания загрузки.
5. Выполните команду для установки необходимых разрешений:
sudo chmod +x minio6. Выполните команду для проверки запуска сервиса minio, указав необходимый порт, через который будет происходить обмен.
Ubuntu и CentOS
sudo nohup ./minio server --address :9001 /home/minio/data &7. Откройте любой веб-браузер в сети и наберите IP-адрес в формате http://XXX.XXX.XXX.XXX:ПОРТ → убедитесь, что запускается страница авторизации сервиса minio.
Автозапуск
Добавьте на автозапуск сервис minio:
1. Скачайте и поместите скрипт автозапуска
Ubuntu - cкачайте d.sh в папку на сервере /home/hd.
sudo wget https://crystals.atlassian.net/wiki/download/attachments/2097676803/d.shCentOS - cкачайте d.sh в папку на сервере /home/minio.
Для скачивания выполните команду:
sudo wget https://crystals.atlassian.net/wiki/download/attachments/2097676803/d.sh2. После скачивания в Ubuntu выполните команды:
sudo cp /home/hd/d.sh /home/minio/
sudo chown root:root /home/minio/d.sh
sudo chmod +x /home/minio/d.sh3. Откройте файл d.sh для редактирования → если требуется, установите необходимый порт для работы сервиса → сохраните изменения.
Ubuntu
sudo mcedit /home/hd/d.shCentOS
mcedit /home/minio/d.sh4. Для Ubuntu cкачайте файл rc.local в папку на сервере /home/hd
Для скачивания выполните команду
sudo wget https://crystals.atlassian.net/wiki/download/attachments/2097676803/rc.localДалее выполните команды:
После выполнения команд появится сообщение, но оно не влияет на работу.
sudo cp /home/hd/rc.local /etc/
sudo chown root:root /etc/rc.local
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local5. Для CentOS добавьте команду для выполнения при запуске ОС → сделайте пустую строку → сохраните файл.
sh /home/minio/d.sh6. Для CentOS в командной строке выполните команды:
chmod +x /home/minio/d.sh
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local6. Для Ubuntu и CentOS перезагрузите сервер полностью. Проверьте работу сервиса через веб-браузер.
sudo rebootМикросервис minio-forward-proxy
Пример настройки на образе CentOS SetRetail.
Установка Docker и docker-compose
Ubuntu
Обязательно производите установку в режиме суперпользователя.
Если это пользователь не root, тогда произведите логин с правами администратора, выполнив команду
sudo suс вводом пароля для пользователя.
1. Обязательно выполните команды для удаления старых версий Docker:
sudo apt remove docker \
docker-common \
docker-selinux \
docker-engine
sudo apt-get purge -y docker-engine docker docker.io docker-ce
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
sudo umount /var/lib/docker/
sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock
sudo rm -rf /usr/bin/docker-compose2. Установите необходимые пакеты, выполнив команду:
sudo apt update3. Установите Docker:
curl -fsSL https://get.docker.com/ | shДождитесь окончания процесса.
4. Выполните следующие команды:
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose
docker-compose --version5. Запустите Docker:
sudo systemctl start docker6. Проверьте, что служба Docker запускается, набрав команду:
sudo systemctl status docker7. Установите службу Docker на автозапуск:
sudo systemctl enable docker8. Произведите авторизацию для учетной записи, которая позволяет выполнить установку микросервиса minio-forward-proxy.
Выполните команду:
docker login artifactory.setmachine.ru:5000Username: setsync-customers
Password: JQ9v&H39q70R
Процесс ввода пароля не отображается.
Учетная запись только для установки микросервиса minio-forward-proxy
Убедитесь, что появилось сообщение Login Succeeded.
Установка микросервиса
1. Создайте в домашней директории папку minio_forward_proxy
Ubuntu
sudo mkdir /home/minio_forward_proxy
sudo chmod -R 777 /home/minio_forward_proxy/CentOS
mkdir /home/minio_forward_proxy2. Скачайте архив minio_forward_proxy.zip → загрузите файлы из распакованного архива
Первый вариант:
cd /home/minio_forward_proxy/
sudo wget https://crystals.atlassian.net/wiki/download/attachments/2097676803/minio_forward_proxy.zip
unzip minio_forward_proxy.zip -d ..
rm -rf minio_forward_proxy.zipВторой вариант:
С помощью WinSCP или другим способом в папку /home/minio_forward_proxy
При копировании из ОС Windows файла .env, всегда обращайте внимание на его наименование. Название файла должно начинаться с точки.
Обратите внимание, что в WinSCP файл с наименованием точки перед расширением отображаться перестанет.
3. Для отображения скрытых файлов в WinSCP перейдите в меню Options → выберите Preferences → перейдите в раздел Panels → установите флажок Show hidden files (Ctrl + Alt + H) → кликните OK.
4. Файл .env отобразится в списке.
5. Настройте конфигурационные файлы:
5.1. Файл /home/minio_forward_proxy/consul/minio-forward-proxy.yml
application.port: 5678- порт микросервиса, который будет слушать обращение на запрос изображения из сервера MinIO с нужными параметрами (в данном случае, это обращение от Retail или Centrum). Но это именно порт, с которым будет запущен микросервис в контейнере.minio.max.connections: 10000- это одновременно возможные коннекты к микросервису. В данном примере к микросервису могут одновременно обращаться 10000 серверов SetRetail.
5.2. Файл /home/minio_forward_proxy/.env
CONSUL_HOST=http://172.29.16.179/- IP-адрес (который будет доступен всем участникам сети) хоста, на котором разворачивается микросервис. Указывается строго в формате http://XXX.XXX.XXX.XXX.CONSUL_PORT=9889- любой доступный порт для микросервиса consul.HEALTH_CHECK_PORT=5489- любой доступный порт. По этому порту можно узнать состояние микросервиса minio_forward_proxy. Например, http://172.29.16.179:5489/health, в ответ получим OK, если микросервис запущен.IMAGE_TAG=minio-forward-proxy:1.0.0- версия образа микросервиса. Меняться будет только цифровая часть - 1.0.0
5.3. Файл /home/minio_forward_proxy/docker-compose.yaml
Настраивается проброс портов наружу, то есть чтобы с локального хоста были доступны внутренние порты в контейнере.
ports:
- 5678:5678 - порт на локальном хосте : порт внутри контейнера
Порт внутри контейнера должен совпадать с портом, указанным в параметре application.port в файле /home/minio_forward_proxy/consul/minio-forward-proxy.yml
6. Перейдите в папку /home/minio_forward_proxy
cd /home/minio_forward_proxy7. Выполните команду для выдачи необходимых разрешений:
Ubuntu
sudo chmod +x *CentOS
chmod +x *8. Выполните команду:
Ubuntu
sudo ./start_minio_forward_proxy.shCentOS
./start_minio_forward_proxy.shДождитесь окончания установки.
9. Проверьте работу MinIO и микросервиса → в адресную строку браузера введите выражение:
http://{service_ip}:{service_port}/{bucket_name}?minio-url={minio_ip}%3A{minio_port}&minio-auth=Basic%20{auth_base64}%3Dservice_ip - IP-адрес хоста, где развернут микросервис.
service_port - порт, который слушает микросервис на хосте.
bucket_name - название корзины на сервере MinIO.
minio_ip - IP-адрес сервера MinIO.
minio_port - порт, на котором запущен сервер MinIO.
auth_base64 - аутентификация на сервере MinIO в кодировке base64.
bWluaW9hZG1pbjptaW5pb2FkbWluэтоminioadmin:minioadmin
Пример адреса:
http://192.168.56.143:5678/images?minio-url=192.168.56.143%3A9001&minio-auth=Basic%20bWluaW9hZG1pbjptaW5pb2FkbWlu%3DВ итоге будет выдан список всех файлов, которые есть в корзине {bucket_name}.
Автозапуск микросервиса
1. Скопируйте файл df.sh в папку /home/minio_forward_proxy
Скачать файл можно напрямую из командной строки:
cd /home/minio_forward_proxy/
wget https://crystals.atlassian.net/wiki/download/attachments/2097676803/df.shДля Ubuntu перед копиррованием выполните команду:
Для Ubuntu
sudo chmod -R 777 /home/minio_forward_proxy/2. Откройте на редактирование файл автозагрузки
Ubuntu
sudo chown root:root /home/minio_forward_proxy/df.sh
sudo chmod +x /home/minio_forward_proxy/df.sh
sudo mcedit /etc/rc.localCentOS
mcedit /etc/rc.d/rc.local3. Добавьте команду sh /home/minio_forward_proxy/df.sh для выполнения скрипта, а также сделайте пустую строку после неё клавишей ENTER.
Ubuntu:
CentOS:
4. В командной строке выполните команды:
После выполгнения команд появится сообщение, но оно не влияет на работу.
Ubuntu
sudo chmod +x /home/minio_forward_proxy/df.sh
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-localCentOS
chmod +x /home/minio_forward_proxy/df.sh
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local5. Перезагрузите сервер полностью. Проверьте работу сервиса через веб-браузер.
sudo rebootНастройка папки для загрузки контента в сервисе MinIO
1. Введите логин и пароль → нажмите Login.
Access Key: minioadmin
Secret Key: minioadmin
2. Кликните Buckets → кликните Create Bucket +.
3. Введите название корзины (bucket), например: images → кликните Create Bucket.
5. Кликните Object Browser → кликните созданный контейнер.
6. Кликните Upload → кликните Upload File (если папка с файлами Upload Fold...) → выберите файлы изображений → нажмите Открыть.
7. Файлы будут загружены на сервер.
Установка Rclone на кассе
Начиная с версии 10.2.93.0 полностью копировать пакет rclone не требуется.
На кассе в командной строке выполните только команду для установки: tce-load -i rclone.tcz
1. С помощью SetConsole и WinSCP или другого средства распространения файлов на кассы скопируйте следующие файлы в папку /mnt/sda1/tce/optional.
В некоторых системных блоках, наименование диска может отличаться и быть: hda.
2. Откройте на редактирование файл в Midnight Commnder /mnt/sda1/tce/onboot.lst.
Этот шаг не нужно выполнять, начиная с версии 10.3.8.0
3. Добавьте следующие строки:
Этот шаг не нужно выполнять, начиная с версии 10.3.8.0
rclone.tcz
bash.tcz4. В командной строке выполните команды:
Этот шаг не нужно выполнять, начиная с версии 10.3.8.0
tce-load -i bash
tce-load -i rclone
cash saveНастройка SetRetail/SetCentrum
1. Кликните Интеграция → Внешние процессинги → кликните кнопку добавления процессинга .
2. Наберите в строке поиска Set Sync → кликните Set Sync → установите флажок для включения процессинга Set Sync → кликните .
© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены.