﻿# Установка Harbor

> [HTML Version](installing-harbor.html)

ELMA365 Enterprise можно установить в закрытом окружении, из которого нет прямого доступа к внешнему хранилищу образов контейнеров. Для этого предварительно установите приватный реестр, например [Harbor](https://github.com/goharbor/harbor).

Установка приватного репозитория Harbor состоит из четырёх этапов:

1. [Установка docker и docker-compose на вашу операционную систему](#installing-docker-docker-compose).

2. [Скачивание архива офлайн установщика](#download-archive).

3. [Заполнение конфигурационного файла](#complete-config-file).

4. [Установка Harbor](#installing).

## Шаг 1. Установка docker и docker-compose

Установите [Docker](https://docs.docker.com/engine/install/) и [Docker Compose](https://docs.docker.com/compose/) для вашей операционной системы.

## Шаг 2. Скачивание архива офлайн установщика

1. На компьютере с доступом в интернет перейдите на страницу релизов [Harbor](https://github.com/goharbor/harbor/releases) и скачайте архив \[OBJECT\], выполнив следующую команду:

````
wget https://github.com/goharbor/harbor/releases/download/vX.Y.Z/harbor-offline-installer-vX.Y.Z.tgz

2. ````
Скопируйте на сервер полученный архив, где будет производиться установка.

3. Распакуйте архив на сервере, где будет производиться установка и скопируйте конфигурационный файл по умолчанию \[OBJECT\]. Для этого выполните команду:

````
tar xzvf harbor-offline-installer-vX.Y.Z.tgz \&\& cd harbor  
cp harbor.yml.tmpl harbor.yml

## ````
Шаг 3. Заполнение конфигурационного файла harbor.yml

1. Заполните переменные в файле \[OBJECT\].

Для этого зададим в параметре \[OBJECT\] домен FQDN или ip адрес, по которому будет доступен реестр, например, зададим доменное имя **registry.example.com**.

2. Определите протоколы, по которым будет доступен репозиторий.

````
Начало внимание

````
Если реестр должен быть доступен только по протоколу http, закомментируйте параметры секции https и в параметре \[OBJECT\] выставьте значение \[OBJECT\].

````
Конец внимание

````
В рамках статьи репозиторий будет доступен по протоколу https, при обращении по протоколу http будет происходить перенаправление на https. 

Номера портов для параметров \[OBJECT\] и \[OBJECT\]:

- 80 для HTTP;

- 443 для HTTPS. 

Укажите путь до файла открытого сертификата в параметре \[OBJECT\]  и в \[OBJECT\] укажите путь до файла закрытого ключа.

3. Задайте пароль для пользователя **admin** в параметре \[OBJECT\]. При необходимости в параметре \[OBJECT\] измените путь до каталога, где будут храниться образы.

Пример заполнения параметров конфигурационного файла для установки в рамках статьи

````
\# Configuration file of Harbor  
hostname: registry.example.com  
  
\# http related config  
http:  
  # port for http, default is 80. If https enabled, this port will redirect to https port  
  port: 80  
  
\# https related config  
https:  
  # https port for harbor, default is 443  
  port: 443  
  # The path of cert and key files for nginx  
  certificate: /your/certificate/path  
  private\_key: /your/private/key/path  
  
\# The initial password of Harbor admin  
harbor\_admin\_password: Harbor12345  
  
...
````

4. ````
Настройте остальные параметры согласно вашей политике безопасности и предполагаемой нагрузке.

## Шаг 4. Установка Harbor

1. Установите Harbor, выполнив следующую команду:

````
sudo ./install.sh

2. ````
Дождитесь окончания работы скрипта установки.

3. Запустите браузер и откройте страницу входа в Harbor по адресу **http://hostname** или **https://hostname**. Параметр ````
\[OBJECT\]````
 указывали при заполнении в файле конфигурации ````
\[OBJECT\] ````
на шаге [заполнение конфигурационного файла](installing-harbor.md).

В данном примере адрес страницы входа в Harbor — \[OBJECT\]. 

4. Войдите в систему с именем пользователя **admin** и паролем, установленным в файле ````
\[OBJECT\]````
 в параметре ````
\[OBJECT\]````
.

(login_harbor.png)

5. Откроется окно проектов в Harbor.

**(creating-new-project-harbor-1.png)**

Установка приватного реестра Harbor закончена.