Local Server/en: различия между версиями

Материал из SmartPlayer
Нет описания правки
Нет описания правки
 
(не показано 5 промежуточных версий 2 участников)
Строка 39: Строка 39:
== Option 2. Deployment on the customer's server, using the vmWare virtualization system. ==
== Option 2. Deployment on the customer's server, using the vmWare virtualization system. ==


<div class="mw-translate-fuzzy">
The disc is ejected with the platform fully installed. The network administrator imports the virtual machine into his virtualization environment, after starting the server, a fully operational platform is ready.
'''Scope of delivery:'''
 
* UbuntuServer-disk1.vmdk - the disk with the installed platform. About 3-4 Gb.
'''Delivery contents:'''
* UbuntuServer.mf - manifest file
*UbuntuServer-disk1.vmdk - disk with the installed platform. Approximately 3-4 GB.
* UbuntuServer.ovf - template with settings for a virtual machine
*UbuntuServer.mf - manifest file
</div>
*UbuntuServer.ovf - template with settings for the virtual machine


<div class="mw-translate-fuzzy">
'''To prepare the image, you need:'''
'''To prepare the image, you need:'''
* Static IP address (domain name) on which the server will be deployed, personal account, configured paths to client applications.
* Static IP address (domain name) on which the server will be deployed, personal account, configured paths to client applications.
Строка 57: Строка 56:
* Secondary DNS
* Secondary DNS
* DNS suffix
* DNS suffix
</div>
== Option 3. Deployment on the Customer's Server, Using Hyper-V Virtualization ==
 
A disk with the fully installed platform is exported. The next step is for the network administrator to import the virtual machine into their virtualization environment; after starting the server, a fully functional platform is ready.<br>
'''Для подготовки образа требуются:'''
'''Delivery contents:'''
*Статичный IP адрес(доменное имя) на котором будет развернут сервер, личный кабинет, сконфигурированные пути к клиентским приложения.
# Archive with Ubuntu-server, exported from Hyper-V.
*[Необязательно]. Полные сетевые настройки, при подготовке образа создается полностью готовый работоспособный сетевой интерфейс.
'''Required for image preparation:'''<br>
'''Полные сетевые настройки включают в себя:'''
* A static IP address (domain name) where the Ubuntu server, personal account, and configured paths to client applications will be deployed;
*Static IP address
* {{Note|''Optional''|warn}} complete network settings. During image preparation, a fully ready and functional network interface is created.
*Gateway address
'''Complete network settings include:'''<br>
*Network mask
*Primary DNS
*Secondary DNS
*DNS suffix
==Вариант 3. Развертывания на сервере заказчика, с использованием виртуализации Hyper-V ==
Выгружается диск с полностью установленной платформой. Следующим шагом сетевой администратор импортирует виртуальную машину в свою среду виртуализации, после запуска сервера полностью работоспособная платформа готова.<br>
'''Состав поставки:'''
# Архив с Ubuntu-server, экспортированной из Hyper-V.  
'''Для подготовки образа требуются:'''<br>
* статичный IP-адрес(доменное имя), на котором будет развернут сервер Ubuntu, личный кабинет и сконфигурированные пути к клиентским приложениям;
* {{Note|''Необязательно''|warn}}полные сетевые настройки. При подготовке образа создается полностью готовый работоспособный сетевой интерфейс.
'''Полные сетевые настройки включают в себя:'''<br>
# Static IP address
# Static IP address
# Gateway address
# Gateway address
Строка 83: Строка 70:
# Secondary DNS
# Secondary DNS
# DNS suffix
# DNS suffix
'''(Установка данного решения осуществляется за дополнительную оплату, уточняйте у менеджера)'''  
'''(Installation of this solution is carried out for an additional fee, please check with your manager)'''
== '''Требования к аппаратному обеспечению при установки серверного приложения в режиме кластеризации''' ==
== '''Hardware Requirements for Installing the Server Application in Clustering Mode''' ==
Кластеризация — это метод, который позволяет объединить несколько серверов в одну систему, чтобы они могли работать вместе и выполнять общие задачи. В этом случае эти серверы называются узлами кластера. Основная идея кластеризации — повысить надежность, производительность и доступность приложения.<br>
Clustering is a method that allows combining several servers into a single system so they can work together and perform common tasks. In this case, these servers are called cluster nodes. The main idea of clustering is to increase the reliability, performance, and availability of the application.<br>
Для корректной работы серверного приложения в режиме кластеризации ниже будут прописаны требования для каждого из элементов:
For the correct operation of the server application in clustering mode, the requirements for each element are specified below:
Master Node — это контролирующий центр всего кластера. Он управляет всеми процессами и координирует работу остальных узлов называемых worker nodes.  
Master Node is the control center of the entire cluster. It manages all processes and coordinates the work of the remaining nodes, called worker nodes.
{| class="wikitable"
{| class="wikitable"
|+ Master node CPU
|+ Master node CPU
Строка 93: Строка 80:
! CPU !! RAM
! CPU !! RAM
|-
|-
| 1xXeon (12 ядер) || От 32 Gb
| 1xXeon (12 cores) || From 32 GB
|}
|}
Worker Node — это рабочие мощности кластера, которые непосредственно выполняют все задачи и процессы, нужные для работы приложений. Каждый Worker Node занимается исполнением контейнера и сервиса, на которых работает приложение.
Worker Node is the working capacity of the cluster, which directly performs all the tasks and processes necessary for the applications to run. Each Worker Node handles the execution of the container and service on which the application runs.
{| class="wikitable"
{| class="wikitable"
|+ Worker name
|+ Worker node
|-
|-
! CPU !! RAM
! CPU !! RAM
|-
|-
| 1xXeon (8 ядер) || От 24 Gb
| 1xXeon (8 cores) || From 24 GB
|}
|}
Рекомендуется использовать/добавлять одну "worker node" на 1500-2000 устройств.
It is recommended to use/add one "worker node" per 1500-2000 devices.
S3-хранилище — это тип облачного хранилища, созданного для хранения больших объёмов данных. "S3" означает Simple Storage Service.
S3 storage is a type of cloud storage created for storing large volumes of data. "S3" stands for Simple Storage Service.
S3- это единое хранилище к которому подключаются сервера при кластеризации.
S3 is a unified storage to which servers connect during clustering.
{| class="wikitable"
{| class="wikitable"
|+ S3
|+ S3
Строка 111: Строка 98:
! CPU !! RAM
! CPU !! RAM
|-
|-
| 1xXeon (12 ядер) || От 24 Gb
| 1xXeon (12 cores) || From 24 GB
|}
|}
{{Note|Существует зависимость от поколения версии клиентского приложения. Чем более ранняя версия клиентского приложения установлена, тем более сильно она нагружает сервер в связи с большим количество обращений (запрсоов). Поэтому рекомендуется всегда иметь актуальную версию клиентского приложения.|warn}}
{{Note|There is a dependency on the generation of the client application version. The earlier the version of the client application installed, the more it loads the server due to a larger number of requests. Therefore, it is always recommended to have the latest version of the client application.|warn}}
== <span id="internalNetwork">Ответы на частые вопросы по работе с внутренней сети заказчика</span> ==
== <span id="internalNetwork">Answers to Frequent Questions on Working with the Customer's Internal Network</span> ==
*Вопрос: Какие порты необходимо открыть ?
* Question: Which ports need to be opened?
*Ответ: Для работы локального сервера (разворачивается на мощностях заказчика) по 80 порту (сервер http), по 443 порту (сервер https). Для работы облачного сервера SmartPlayer в ограничениях сети запросите документ у интегратора или представителя SmartPlayer.
* Answer: For the local server (deployed on the customer's infrastructure) to work, port 80 (HTTP server) and port 443 (HTTPS server). For the operation of the SmartPlayer cloud server within network restrictions, request the document from the integrator or SmartPlayer representative.
---------
---------
*Вопрос: Направление открытия портов на стороне клиентского приложения ( оно может быть  IN или OUT ) ?
* Question: The direction of port opening on the client application side (it can be IN or OUT)?
*Ответ: Необходимо открыть в обе стороны IN и OUT
* Answer: It is necessary to open in both directions, IN and OUT.
---------
---------
*Вопрос: Описание обмена данными между облачныи сервером и клиентским приложение ?
* Question: Description of data exchange between the cloud server and the client application?
*Ответ: Сервер может работать по двум протоколам http или https. При реализации сервера по протоколу https заказчик предоставляет сертификат и самостоятельно следит за актуализацией его после завершения срока действия сертификата. Связь между сервером и клиентскими приложениями осуществляется по 80 порту (сервер http), по 443 порту (сервер https). Для взаимодействия используется протокол WebSocket (WS) или WebSocketSecure (WSS) в зависимости от настройки сервера. Необходимые порты в локальной сети. 80 порт или 443 порт в зависимости от конфигурации сервера. При наличии в сети прокси, пакеты передаваемые между сервером и личным кабинетом, клиентскими приложениями не должны модифицироваться. Инициализация открытия соединения идет с стороны клиентского приложения.
* Answer: The server can work using two protocols: HTTP or HTTPS. When implementing the server using the HTTPS protocol, the customer provides the certificate and independently monitors its renewal after the certificate's expiration date. Communication between the server and client applications is carried out via port 80 (HTTP server) or port 443 (HTTPS server). For interaction, the WebSocket (WS) or WebSocketSecure (WSS) protocol is used, depending on the server configuration. Required ports in the local network: port 80 or port 443, depending on the server configuration. If there is a proxy in the network, packets transmitted between the server and the personal account, client applications must not be modified. The connection opening initialization comes from the client application side.
---------
---------
*Вопрос: Какой объем трафика ?
* Question: What is the traffic volume?
*Ответ: Зависит от проигрываемого контента на устройства. В режиме пинг-понг расход трафика минимальный, исчесляемый в килобайтах.
* Answer: Depends on the content played on the devices. In ping-pong mode, traffic consumption is minimal, calculated in kilobytes.
---------
---------
*Вопрос: Когда будет происходить обмен трафиком?
* Question: When will traffic exchange occur?
*Ответ: Разделим трафик на две категории:
* Answer: Let's divide traffic into two categories:
**трафик пинг-понг обмен происходит круглосуточно
** ping-pong traffic exchange occurs around the clock
**трафик получения контента на клиенсткие приложения происходит в момент загрузке его на устройство. Загрузку контента можно отложить по расписанию, например поставить в ночное время когда канал связи менее загружен
** traffic for receiving content on client applications occurs at the moment it is loaded onto the device. Content loading can be scheduled, for example, set at night when the communication channel is less loaded.

Текущая версия от 12:05, 23 декабря 2025

Important! If the HTTPS protocol is used on your own domain name, then for correct operation, a certificate issued by GlobalSign is required. This certificate is compatible with all operating systems used in the SmartPlayer platform. Otherwise, SmartPlayer does not guarantee the binding of devices to the server if other certificates are used. You can purchase it here: https://www.reg.ru/ssl-certificate/GlobalSign/gs_domainssl

SmartPlayer Local Platform Operation Scheme

Option 1. Deployment on the Customer's Server, Without Using a Virtualization System

Minimum requirements for the local server:

OS Requirements

You can choose any of the listed ones. Operating systems are arranged by priority from recommended (first position) to possible (last position):

  • Ubuntu Server 24.04. LTS (installation without access to an external network is possible)
  • Astra Linux Orel (ver. 1.7) - Russian linux operating system (installation without access to an external network is possible)
  • Astra Linux Orel (ver. 1.8) - Russian linux operating system (installation without access to an external network is possible)

CPU and RAM Parameters Depending on the Number of Screens

  • Up to 200 screens: CPU: 1xXeon (4 cores), RAM: From 8 GB
  • 200 - 500 screens: CPU: 1xXeon (6 cores), RAM: From 12 GB
  • 500 - 2000 screens: CPU: 1xXeon (8 cores), RAM: From 24 GB
  • 2000 - 5000 screens: CPU: 1xXeon (12 cores), RAM: From 52 GB, storage about 1 TB
  • 5000 and more: depends on the platform requirements for specific project tasks

Hard Disk Size

  • Up to 200 screens: From 100 GB (ensures storage of all content, playback statistics). Depends on the amount of content.
  • 200 - 500 screens: From 250 GB (ensures storage of all content, playback statistics). Depends on the amount of content.
  • 500 - 2000 screens: From 500 GB (ensures storage of all content, playback statistics). Depends on the amount of content.
  • 2000 - 5000 screens: From 1 TB (ensures storage of all content, playback statistics). Depends on the amount of content.
  • 5000 and more: depends on the platform requirements for specific project tasks

Network Settings

  • IP: static IP address
  • Internet channel: 3 - 50 Mbps. Depends on the content size.

At the time of installation of the local server:

  • remote ssh access for user with root rights - used for configuration
  • remote sftp access for a user with root rights - used to upload files to the server
  • Internet access - used to install dependencies for the server application
  • [Optional] first account (e-mail address) is the main account on the local server, if not provided by default root@smartplayer.org

Option 2. Deployment on the customer's server, using the vmWare virtualization system.

The disc is ejected with the platform fully installed. The network administrator imports the virtual machine into his virtualization environment, after starting the server, a fully operational platform is ready.

Delivery contents:

  • UbuntuServer-disk1.vmdk - disk with the installed platform. Approximately 3-4 GB.
  • UbuntuServer.mf - manifest file
  • UbuntuServer.ovf - template with settings for the virtual machine

To prepare the image, you need:

  • Static IP address (domain name) on which the server will be deployed, personal account, configured paths to client applications.
  • [Not necessary]. Full network settings, when preparing the image, a completely ready-made working network interface is created.

Full network settings include:

  • Static IP address
  • Gateway address
  • Network mask
  • Primary DNS
  • Secondary DNS
  • DNS suffix

Option 3. Deployment on the Customer's Server, Using Hyper-V Virtualization

A disk with the fully installed platform is exported. The next step is for the network administrator to import the virtual machine into their virtualization environment; after starting the server, a fully functional platform is ready.
Delivery contents:

  1. Archive with Ubuntu-server, exported from Hyper-V.

Required for image preparation:

  • A static IP address (domain name) where the Ubuntu server, personal account, and configured paths to client applications will be deployed;
  • Optional
    complete network settings. During image preparation, a fully ready and functional network interface is created.

Complete network settings include:

  1. Static IP address
  2. Gateway address
  3. Network mask
  4. Primary DNS
  5. Secondary DNS
  6. DNS suffix

(Installation of this solution is carried out for an additional fee, please check with your manager)

Hardware Requirements for Installing the Server Application in Clustering Mode

Clustering is a method that allows combining several servers into a single system so they can work together and perform common tasks. In this case, these servers are called cluster nodes. The main idea of clustering is to increase the reliability, performance, and availability of the application.
For the correct operation of the server application in clustering mode, the requirements for each element are specified below: Master Node is the control center of the entire cluster. It manages all processes and coordinates the work of the remaining nodes, called worker nodes.

Master node CPU
CPU RAM
1xXeon (12 cores) From 32 GB

Worker Node is the working capacity of the cluster, which directly performs all the tasks and processes necessary for the applications to run. Each Worker Node handles the execution of the container and service on which the application runs.

Worker node
CPU RAM
1xXeon (8 cores) From 24 GB

It is recommended to use/add one "worker node" per 1500-2000 devices. S3 storage is a type of cloud storage created for storing large volumes of data. "S3" stands for Simple Storage Service. S3 is a unified storage to which servers connect during clustering.

S3
CPU RAM
1xXeon (12 cores) From 24 GB
There is a dependency on the generation of the client application version. The earlier the version of the client application installed, the more it loads the server due to a larger number of requests. Therefore, it is always recommended to have the latest version of the client application.

Answers to Frequent Questions on Working with the Customer's Internal Network

  • Question: Which ports need to be opened?
  • Answer: For the local server (deployed on the customer's infrastructure) to work, port 80 (HTTP server) and port 443 (HTTPS server). For the operation of the SmartPlayer cloud server within network restrictions, request the document from the integrator or SmartPlayer representative.

  • Question: The direction of port opening on the client application side (it can be IN or OUT)?
  • Answer: It is necessary to open in both directions, IN and OUT.

  • Question: Description of data exchange between the cloud server and the client application?
  • Answer: The server can work using two protocols: HTTP or HTTPS. When implementing the server using the HTTPS protocol, the customer provides the certificate and independently monitors its renewal after the certificate's expiration date. Communication between the server and client applications is carried out via port 80 (HTTP server) or port 443 (HTTPS server). For interaction, the WebSocket (WS) or WebSocketSecure (WSS) protocol is used, depending on the server configuration. Required ports in the local network: port 80 or port 443, depending on the server configuration. If there is a proxy in the network, packets transmitted between the server and the personal account, client applications must not be modified. The connection opening initialization comes from the client application side.

  • Question: What is the traffic volume?
  • Answer: Depends on the content played on the devices. In ping-pong mode, traffic consumption is minimal, calculated in kilobytes.

  • Question: When will traffic exchange occur?
  • Answer: Let's divide traffic into two categories:
    • ping-pong traffic exchange occurs around the clock
    • traffic for receiving content on client applications occurs at the moment it is loaded onto the device. Content loading can be scheduled, for example, set at night when the communication channel is less loaded.