﻿# Офлайн-установка ELMA365 Standard

> [HTML Version](install-kind-offline.html)

````
Начало внимание

````
В статье приводится инструкция для установки ELMA365 Standard KinD. Редакцию ELMA365 Standard Kubernetes устанавливайте по инструкции в статье [«Установка ELMA365 Enterprise в Kubernetes»](install-elma365-standard-kubernetes.md).

````
Конец внимание

````
ELMA365 редакции Standard можно установить в закрытый контур без доступа в интернет. Вариант установки Kubernetes-in-Docker (KinD) наиболее прост и позволяет запускать локальный кластер Kubernetes с использованием узла Docker‑контейнера в закрытом контуре без доступа в интернет. 

Установка состоит из пяти этапов:

1. [Подготовка инфраструктуры](#prepare-infrastructure).

2. [Загрузка файлов для офлайн-версии](#download-files).

3. [Установка Docker на компьютер в закрытый контур](#install-docker).

4. [Заполнение конфигурационного файла](#complete-config-file).

5. [Запуск скрипта установки](#run-script).

**(install-kind-offline-1.png)**

## Шаг 1. Подготовка инфраструктуры

Под инфраструктурой понимаются необходимые для работы приложения ELMA365 On-Premises компоненты.

````
Начало внимание

````
Клиент самостоятельно разворачивает зависимые компоненты. Все работы по организации отказоустойчивой локальной архитектуры, настройке отказоустойчивости зависимых компонентов также остаются на стороне клиента.

````
Конец внимание

````
Компоненты, необходимые для работы приложения ELMA365 On-Premises:

- Docker;

- PostgreSQL;

- MongoDB;

- RabbitMQ;

- Valkey или Redis;

- S3 (MinIO).

Встроенные компоненты хранения данных подходят для ознакомительных целей и в особых случаях — для организации стендов тестирования и разработки. Если в дополнительных параметрах установки не заданы параметры подключения к внешним базам данных и S3-хранилищу, автоматически будут использованы встроенные компоненты хранения данных (PostgreSQL, MongoDB, RabbitMQ, Valkey или Redis, S3 MinIO). 

В рамках текущей статьи база данных PostgreSQL и объектное хранилище S3 будут внешними. База данных PostgreSQL развернута по статье [«PostgreSQL»](postgresql.md), объектное S3-хранилище развернуто по статье [«MinIO S3»](configure-minio.md). Для подключения к PostgreSQL и MinIO S3 используются стандартные строки подключения и пароли.

## Шаг 2. Загрузка файлов для офлайн-версии

1. На компьютере с доступом в интернет загрузите необходимые файлы для офлайн-версии (объём загружаемых файлов ~4-5 ГБ), выполнив следующую команду:

````
sudo curl -fsSL -o elma365-docker.sh https://dl.elma365.com/onPremise/latest/elma365-docker-offline-latest \&\& \\  
chmod +x elma365-docker.sh \&\& \\  
./elma365-docker.sh

````
Адреса для загрузки других версий ELMA365 перечислены в статье [«Ссылки для скачивания дистрибутивов ELMA365 On‑Premises»](links-for-install-elma365.md#links-for-install-kind-offline).

Загрузочный скрипт создаст каталог с наименованием \[OBJECT\] в каталоге, откуда он был запущен, и загрузит в него необходимые файлы. 

По окончании загрузки файлов для офлайн-версии загрузочный скрипт выведет информацию о том, в какую директорию были загружены файлы, и предложит скопировать их на компьютер в закрытый контур.

Пример выполнения загрузочного скрипта:

**(install-kind-offline-2.png)**

2. После загрузки всех файлов полученный каталог \[OBJECT\] скопируйте на сервер, где будет производиться установка.

## Шаг 3. Установка Docker на компьютер в закрытый контур

[Установите Docker](https://docs.docker.com/engine/install/) для вашей операционной системы на локальный компьютер в закрытый контур.

````
начало внимание

````
KinD не поддерживает создание Kubernetes-кластера с Cgroups v2. Подробнее о возможных ошибках читайте в [документации](https://kind.sigs.k8s.io/docs/user/known-issues/#failure-to-create-cluster-with-cgroups-v2).

````
конец внимание

## ````
Шаг 4. Заполнение конфигурационного файла

При первом запуске скрипт установки создаст файл конфигурации с наименованием \[OBJECT\] в каталоге, откуда он был запущен.

1. На компьютере в закрытом контуре, куда были скопированы файлы для офлайн-версии, перейдите в каталог \[OBJECT\] и запустите скрипт установки ELMA365 для создания конфигурационного файла, выполнив следующую команду:

````
sudo ./elma365-docker.sh --offline

начало внимание

````
Для создания нового стартового (default) файла конфигурации переименуйте существующий файл конфигурации \[OBJECT\] и запустите скрипт установки с ключом \[OBJECT\].

````
конец внимание

2. ````
Внесите изменения в подготовленный скриптом установки конфигурационный файл \[OBJECT\]. 

3. Для быстрого старта приложения ELMA365 Standard раскомментируйте и заполните необходимые переменные.

Заполнение основных параметров в конфигурационном файле \[OBJECT\] может выглядеть следующим образом:

**(kubernetes-in-docker-2.png)**

Где:

- \[OBJECT\] — IP-адрес хостовой машины, по которому будет доступно приложение ELMA365 Standard. Подробнее о создании домена (FQDN) читайте в [«Изменение параметров ELMA365 Standard»](change-elma365standard-parameters.md);

- \[OBJECT\] — адрес электронной почты администратора;

- \[OBJECT\] — пароль администратора;

- \[OBJECT\]** **— язык установленной системы.

4. Настройте подключение к внешним базам данных и объектному S3-хранилищу.

````
начало примечание

````
**Примечание**

Встроенные компоненты хранения данных подходят для ознакомительных целей и в особых случаях для организации стендов тестирования и разработки. Если в дополнительных параметрах установки не заданы параметры подключения к внешним базам данных и S3 хранилищу, то автоматически будут использованы встроенные компоненты хранения данных: PostgreSQL, MongoDB, RabbitMQ, Valkey или Redis, S3 MinIO.

````
конец примечание

````
Для подключения к внешней базе данных PostgreSQL расскоментируйте и заполните параметр  \[OBJECT\] (укажите строку подключения, полученную на шаге 6 статьи [«PostgreSQL»](postgresql.md#connect-to-postgresql)). Например:

**(install-kind-offline-5.png)**

Раскомментируйте и задайте для подключения к S3-хранилищу параметры \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\], \[OBJECT\] (укажите параметры подключения, полученные [при настройке объектного хранилища S3](configure-minio.md#connection-to-minio)).

По умолчанию включено проксирование запросов к S3. Вы можете отключить его, раскомментировав параметр \[OBJECT\].

Настройки подключения к S3-хранилищу файлов

````
\# Укажите параметры для подключения к S3 и резервного копирования.  
\# По умолчанию трафик к внешнему S3 направляется через прокси-сервер. Чтобы отключить проксирование,   
\# раскомментируйте параметр ELMA365\_DB\_S3\_GATEWAY.   
\# Обратите внимание: для работы прокси необходимо заранее указать параметры подключения к S3 (ELMA365\_DB\_S3\_\*).  
\# Укажите в параметре ELMA365\_DB\_S3\_DUMP\_URL адрес S3 для резервного копирования в формате, если S3 в Kubernetes-кластере  
\# http(s)://minio.<namespace>.svc.<cluster.local>, для внешнего S3 формат http(s)://example.ru:9000  
\# При необходимосте отключите проверку TLS-сертификатов (раскомментировать параметр ELMA365\_SKIP\_SSL\_VERIFY)  
  
\#ELMA365\_DB\_S3\_ADDRESS=example.ru:9000  
\#ELMA365\_DB\_S3\_BUCKET=s3elma365  
\#ELMA365\_DB\_S3\_USER=user  
\#ELMA365\_DB\_S3\_PASSWORD=password  
\#ELMA365\_DB\_S3\_REGION=us-east-1  
\#ELMA365\_DB\_S3\_METHOD=PUT  
\#ELMA365\_DB\_S3\_SSL=false  
\#ELMA365\_DB\_S3\_VIRTUAL\_HOSTED\_STYLE=false  
\#ELMA365\_DB\_S3\_DUMP\_URL=https://example.ru:9000  
\#ELMA365\_SKIP\_SSL\_VERIFY=true  
\#ELMA365\_DB\_S3\_GATEWAY=false
````

````


5. Поскольку приложение ELMA365 Standard устанавливается в закрытый контур (без доступа в интернет) с ключом \[OBJECT\], при генерации конфигурационного файла необходимо заполнить параметр \[OBJECT\]. 

````
начало внимание

````
В параметр \[OBJECT\] автоматически подставляется IP-адрес с интерфейса, на который указывает default-маршрут.

````
конец внимание

````
Укажите адрес приватного репозитория Docker-образов в параметре \[OBJECT\]:

**(install-kind-offline-4.png)**

Где:

- \[OBJECT\] — URL для приватного репозитория с форматом \[OBJECT\]:

	- \[OBJECT\] — IP-адрес приватного репозитория Docker-образов;

	- \[OBJECT\] — порт приватного репозитория Docker-образов.

В случае отсутствия собственного приватного репозитория, можно использовать локальный приватный репозитории. Для этого раскомментируйте параметр \[OBJECT\] и установите значение \[OBJECT\].

**Важно**: если используется локальный приватный репозиторий и если Docker установлен через Snap, в файле конфигурации раскомментируйте и измените пути до папок или каталогов для параметров\[OBJECT\] и \[OBJECT\], например:

- \[OBJECT\];

- \[OBJECT\];

- \[OBJECT\].

Подробнее о параметрах конфигурационного файла \[OBJECT\] читайте в статье [«Изменение параметров ELMA365 Standard»](change-elma365standard-parameters.md).

## Шаг 5. Запуск скрипта установки ELMA365 Standard

После запуска скрипт установки разместит необходимые образы в репозитории Docker-образов. Далее будет производиться установка приложения ELMA365 Standard, время установки занимает 10-15 минут.

````
начало внимание

````
В системе должен быть задан маршрут по умолчанию.

````
конец внимание

1. ````
Запустите [загруженный ранее скрипт установки](#download-files) с помощью команды: 

````
sudo ./elma365-docker.sh --offline

````
По окончании установки в скрипте отобразится сообщение об успешной установке приложения ELMA365 Standard.**(kubernetes-in-docker-3.png)**

2. Запустите браузер и откройте страницу входа в приложение ELMA365 Standard по адресу \[OBJECT\]. Параметр \[OBJECT\] был указан в файле конфигурации \[OBJECT\] на шаге [заполнения конфигурационного файла](#complete-config-file). 

В представленном примере используется следующий адрес страницы входа в приложение ELMA365 Standard: \[OBJECT\] 

**(kubernetes-in-docker-4.png)**

3. В качестве логина и пароля укажите адрес электронной почты администратора и пароль, который использовался в файле конфигурации \[OBJECT\] в параметрах \[OBJECT\] и \[OBJECT\].

В приведённом примере используются:

- **Логин** — **admin@mail.com**;

- **Пароль** — **test**.

4. Нажмите кнопку **Войти в систему**.

Откроется окно активации системы ELMA365.

5. Активируйте систему. Подробнее об этом читайте в статье [«Активация ELMA365 On-Premises»](activate_on_premise.md). 

Офлайн-установка приложения ELMA365 редакции Standard успешно закончена.

````
Начало внимание

````
Сохраните файл \[OBJECT\] для последующих обновлений.

````
Конец внимание
````