﻿# Установить Harbor с самоподписанными сертификатами для ELMA Cortex

> [HTML Version](cortex-harbor.html)

Для установки **ELMA Cortex** в закрытом контуре с использованием Docker Swarm необходим приватный реестр образов, доступный из изолированной среды. Рекомендуем использовать [Harbor](https://goharbor.io/).

Рассмотрим, как установить Harbor на операционную систему Ubuntu Server с использованием самоподписанных TLS‑сертификатов.

## Условия для работы Harbor

Убедитесь, что для установки Harbor соблюдаются требования:

- используется Ubuntu Server 18.04+ (или аналогичный Linux-дистрибутив);

- минимум 4 ГБ RAM, 2 ядра CPU, 40 ГБ места на диске;

- установлены [Docker](https://docs.docker.com/engine/install/) и [Docker Compose](https://docs.docker.com/compose/);

- заданы права Root или sudo;

- задано имя хоста или домен для Harbor (например, `harbor.server`, `registry.example.com`).

## Шаг 1. Установка Harbor

Скачайте файлы установщика, заполните конфигурационный файл и выполните установку. Подробнее читайте в [статье об установке Harbor](installing-harbor.md).

## Шаг 2. Создание проекта для ELMA Cortex

1. Зайдите в веб-интерфейс Harbor.

2. Нажмите **New Project**.

3. В поле **Project Name** укажите **elma-cortex**.

4. В поле **Access Level** выберите **Private**

5. Нажмите **Create**.

## Шаг 3. Добавление сертификата в список доверенных для клиентов

На любой машине, которая будет загружать или скачивать образы с этого Harbor:

1. Скопируйте корневой сертификат CA **ca.crt**  на клиентскую машину, с которой будут загружаться или скачиваться образы из Harbor.

2. Создайте папку для сертификатов Docker:

````
sudo mkdir -p /etc/docker/certs.d/harbor.server

3. ````
Поместите сертификат в директорию Docker:

````
sudo cp ca.crt /etc/docker/certs.d/harbor.server/

4. ````
Перезапустите Docker для применения изменений:

````
sudo systemctl restart docker

5. ````
Проверьте возможность авторизации в Harbor:

````
docker login harbor.server
````