4.5. Руководство по инсталляции фронтенда

4.5.1. Назначение и общий функционал работы с фронтендом

Фронтенд (англ. frontend)
Является клиентской стороной пользовательского интерфейса к программно-аппаратной части сервиса.
Бэкенд (англ. backend)
Представляет собой программно-аппаратную часть сервиса, набор средств, с помощью которых происходит реализация логики веб-сайта. Бэкенд для предоставления своих функций реализует API, которые использует фронтенд.

Фронт- и бэкенд — это вариант архитектуры программного обеспечения.

4.5.2. Установка фронтенда

Примечание

Можно установить и настроить несколько экземпляров фронтенда. Это требуется, например, для балансировки нагрузки на сервер и формирования отказоустойчивой Системы. Все экземпляры фронтенда устанавливаются аналогично.

Для установки фронтенда сначала необходимо установить Docker.

Подробнее об установке и настройке Docker можно посмотреть здесь: https://docs.docker.com/get-started/.

Если реестр Docker, содержащий образ фронтенда, недоступен или отсутствует, тогда необходимо скачать образ фронтенда из архивного файла, выполнив в командной строке команду:

docker load -i /path/to/image.tar.gz

Здесь:

/path/to/image.tar.gz
Пример пути к архиву с образом фронтенда.

Если реестр Docker, содержащий образ фронтенда, доступен, тогда для установки фронтенда нужно войти в реестр Docker, выполнив в командной строке команду:

docker login registry.igtel.ru:6443

При входе необходимо ввести логин и пароль.

После этого нужно скачать образ фронтенда из Docker, выполнив в командной строке команду:

docker pull registry.igtel.ru:6443/sgate/ui:develop

После того как образ скачан (из архивного файла или из реестра Docker), необходимо запустить контейнер, выполнив в командной строке команду в многострочном формате (после символа

\

должен быть перенос строки без пробелов и других символов):

docker run -d \
-p 3000:3000 --name=sgate_ui \
--env "BACKEND_HOST=backend.example.ru" \
--env "BACKEND_PORT=8081" \
registry.igtel.ru:6443/sgate/ui:develop

Здесь:

-p 3000:3000
Указывается, какой порт на сервере (в примере это порт 3000) маппится на порт в контейнере (в контейнере всегда используется порт 3000).
name
Указывается название контейнера для использования его при обращении (вместо идентификатора). В примере это «sgate_ui».
BACKEND_HOST
Хост бэкенда в контейнере.
BACKEND_PORT
Порт бэкенда в контейнере.