Linux4Ever

Dies ist eine alte Version des Dokuments!


Nachfolgend soll die Installation und Konfiguration von Harbor beschrieben werden.

<blockquote>

Harbor Registry ist eine der bekanntesten und am weitesten verbreiteten Open Source-Lösungen für das Speichern und Verwalten von Docker Images. Dabei geht der Funktionsumfang von Harbor deutlich über den Umfang herkömmlicher Registries, wie zum Beispiel Docker Hub hinaus. (Quelle: bnerd.com)

</blockquote>


1 - Installation

Harbor kann von der Seite „goharbor.io“ (dort dann oben auf „Getting Started“ klicken und auf dieser Seite dann unter Punkt 2 auf „Download the Harbor Installer“). Die verschiedenen Versionen sind auch auf der Release-Seite „https://github.com/goharbor/harbor/releases“ zu finden. Nachfolgend wird der Offline-Installer genutzt. Zum Zeitpunkt der Dokumentation war Version 2.14.1 aktuell.

1.1 - Herunterladen der Installationsdatei

~# wget https://github.com/goharbor/harbor/releases/download/v2.14.1/harbor-offline-installer-v2.14.1.tgz
--2025-12-18 22:14:12--  https://github.com/goharbor/harbor/releases/download/v2.14.1/harbor-offline-installer-v2.14.1.tgz\
Auflösen des Hostnamens github.com (github.com)… 140.82.121.3\
Verbindungsaufbau zu github.com (github.com)|140.82.121.3|:443 … verbunden.\
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
...
Verbindungsaufbau zu release-assets.githubusercontent.com (release-assets.githubusercontent.com)|185.199.111.133|:443 … verbunden.\
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK\
Länge: 680961237 (649M) [application/octet-stream]\
Wird in »harbor-offline-installer-v2.14.1.tgz« gespeichert.

harbor-offline-installer-v2.14.1.tgz  100%[=========================================================================>] 649,42M  18,9MB/s    in 35s
2025-12-18 22:14:47 (18,6 MB/s) - »harbor-offline-installer-v2.14.1.tgz« gespeichert [680961237/680961237]
~#

1.2 - Archiv entpacken

~# tar xzvf harbor-offline-installer-v2.14.1.tgz
harbor/harbor.v2.14.1.tar.gz\
harbor/prepare\
harbor/LICENSE\
harbor/install.sh\
harbor/common.sh\
harbor/harbor.yml.tmpl
~#

1.3 - Verschlüsselung

Der Harbor bringt selbst keine Zertifikate mit. Diese müssen manuell erstellt oder von Drittanbietern besorgt werden.

1.3.1 - Let's-Encrypt-Zertifikat

Let's Encrypt bietet aktuell noch kostenlose Zertifikate an. Leider war es mir in einem ersten Versuch nicht möglich, mittels des Programmes „certbot“ ein SSL-Zertifikat zu generieren. Laut Recherche im Internet wird noch ein Domain benötigt, welche für die Fritzbox genutzt wird. Dies wird eventuell später nochmal neu getestet.

1.3.2 - Eigenes Zertifikat

Es wird ein eigenes Zertifikat erstllt.

Schritt 1: Erstellen des privaten Schlüssels „ca.key“ für die CA:

~# openssl genrsa -out ca.key 4096

Schritt 2: Erstellen des CA-Zertifikats „ca.crt“:

~# openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=DE/ST=Niedersachsen/L=Hannover/O=looper/OU=Personal/CN=Personal Root CA" -key ca.key -out ca.crt

Schritt 3: Erstellen des privaten Schlüssels „slxharbor.fritz.box.key“ für den Server:

~# openssl genrsa -out slxharbor.fritz.box.key 4096

Schritt 4: Generieren einer Zertifikatsanforderung (CSR):

~# openssl req -sha512 -new -subj "/C=DE/ST=Niedersachsen/L=Hannover/O=looper/OU=Personal/CN=slxharbor.fritz.box" -key slxharbor.fritz.box.key -out slxharbor.fritz.box.csr

Schritt 5: Erstellen der X509-Erweiterungsdatei „v3.ext“:

~# cat> v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=slxharbor.fritz.box
DNS.2=slxharbor.fritz
DNS.3=slxharbor
DNS.4=harbor.fritz.box
DNS.5=harbor
EOF
~#

Schritt 6: Erstellen des Zertifikats „slxharbor.fritz.box.crt“:

~# openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in slxharbor.fritz.box.csr -out slxharbor.fritz.box.crt
Certificate request self-signature ok
subject=C=DE, ST=Niedersachsen, L=Hannover, O=looper, OU=Personal, CN=slxharbor.fritz.box
~#

.Ende des Dokuments

container/harbor/start.1766150410.txt.gz · Zuletzt geändert: von sborne