﻿# Install Harbor with self-signed certificates for BRIX AI

> [HTML Version](cortex-harbor.html)

To install **BRIX AI** in an isolated environment using Docker Swarm, you need a private image registry accessible within that environment. We recommend using [Harbor](https://goharbor.io/).

This article explains how to install Harbor on Ubuntu Server using self-signed TLS certificates.

## Prerequisites for Harbor

Before installing Harbor, make sure your system meets the following requirements:

- Ubuntu Server 18.04+ or a similar Linux distribution.

- At least 4 GB RAM, 2 CPU cores, and 40 GB disk space.

- Installed [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/).

- Root or sudo privileges.

- A configured hostname or domain for Harbor, such as `harbor.server` or `registry.example.com`.

## Step 1. Install Harbor

Download the installer files, fill in the configuration file, and run the installation. To learn more, see [Installing Harbor](installing-harbor.md).

## Step 2. Create a project for BRIX AI

1. Log in to the Harbor web interface.

2. Click **New Project**.

3. In the **Project Name** field, enter **elma-cortex**.

4. In the **Access Level** field, select **Private**.

5. Click **Create**.

## Step 3. Add the certificate to trusted certificates on client machines

On any client machine that will push or pull images from this Harbor instance:

1. Copy the root CA certificate **ca.crt** to the client machine from which you will push or pull images.

2. Create a folder for Docker certificates:

````
sudo mkdir -p /etc/docker/certs.d/harbor.server

3. ````
Copy the certificate to the Docker directory:

````
sudo cp ca.crt /etc/docker/certs.d/harbor.server/

4. ````
Restart Docker to apply the changes:

````
sudo systemctl restart docker

5. ````
Verify that you can log in to Harbor:

````
docker login harbor.server
````