Skip to main content

Harbor

Harbor adalah private container registry open source yang dapat kamu host sendiri (self-hosted).
Harbor menggunakan Docker Compose untuk menjalankan beberapa service seperti registry, UI, database, jobservice, notary, dsb.

Prasyarat Sistem

Pastikan sistem kamu memenuhi prasyarat berikut:

KomponenMinimum VersiKeterangan
OSUbuntu / CentOS / AlpineLinux environment
Docker≥ 20.10Sudah berjalan
Docker Compose≥ 1.29Untuk orkestrasi container
CPU2 coreMinimum
RAM4 GBMinimum
Disk40 GBUntuk penyimpanan image

Download Harbor Installer

wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-online-installer-v2.10.0.tgz
tar xvf harbor-online-installer-v2.10.0.tgz
cd harbor

Edit Konfigurasi harbor.yml

Buka file konfigurasi utama:

nano harbor.yml

Contoh konfigurasi dasar:

hostname: registry.localdomain
http:
port: 8080

# Jika ingin HTTPS, aktifkan ini:
# https:
# port: 443
# certificate: /etc/ssl/certs/harbor.crt
# private_key: /etc/ssl/private/harbor.key

harbor_admin_password: devopsTSG2025

database:
password: devopsTSG2025
data_volume: /data

Jalankan Installasi dengan Docker Compose

Jalankan perintah berikut:

sudo ./install.sh

Proses ini akan otomatis:

  • Menghasilkan file docker-compose.yml
  • Menarik semua image Harbor
  • Menjalankan semua service: registry, core, portal, db, dsb

Cek Container yang Berjalan

docker compose ps

atau

docker ps

Contoh hasilnya:

harbor-core
harbor-db
harbor-jobservice
harbor-log
harbor-portal
harbor-registry

Akses Web UI

Akses melalui browser:

http://<hostname atau IP kamu>:8080

Login menggunakan:

  • Username: admin
  • Password: devopsTSG2025

Integrasi Docker Client

Agar Docker bisa push/pull image dari Harbor:

docker login <hostname>:8080

Masukkan username dan password admin.

Push contoh image:

docker tag nginx:latest <hostname>:8080/library/nginx:latest
docker push <hostname>:8080/library/nginx:latest

Menghentikan atau Menghapus Harbor

Untuk menghentikan Harbor:

docker compose down

Untuk menyalakan ulang:

docker compose up -d

Konfigurasi Docker Client

Tambahkan ke file /etc/docker/daemon.json di host client:

{
"insecure-registries": ["harbor.example.com:8080"]
}