# Harbor Image Registry

Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. Harbor, a CNCF Graduated project, delivers compliance, performance, and interoperability to help you consistently and securely manage artifacts across cloud native compute platforms like Kubernetes and Docker.

# Install Harbor registry

<table id="bkmrk-minimum-requirements" style="border-width: 20px; border-style: hidden;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="height: 10px;"><th>Minimum Requirements

</th><th></th><th></th></tr><tr><td>OS

</td><td>:

</td><td>Ubuntu 20.04

</td></tr><tr><td>CPU

</td><td>:

</td><td>1 vCPU

</td></tr><tr><td>RAM

</td><td>:

</td><td>2048 MB

</td></tr><tr><td>Port

</td><td>:

</td><td>80, 443, 4443

</td></tr></tbody></table>

```
sudo apt-get update

#Remove other version
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# Install requrement software (docker)
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#Download and Unpack the Installer
#Go to the Harbor releases page.
https://github.com/goharbor/harbor/releases

#Download either the online or offline installer for the version you want to install.
wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz
https://github.com/goharbor/harbor/releases/download/v2.11.2/harbor-offline-installer-v2.11.2.tgz

#extract downloaded files
tar xzvf harbor-offline-installer-v2.10.3.tgz

#Create default config file
cp harbor/harbor.yml.tmpl harbor/harbor.yml
nano harbor/harbor.yml

#Edit for:
# - hostname
# - disable https and cert path for harbor run under proxy manager
# - extranel_url set domain
# Execute installer
./harbor/install.sh
```