Cara Deploy Private Docker Registry dengan Harbor
0 people liked this article
A. Pendahuluan
Harbor adalah solusi registry image container open source kelas enterprise. Untuk menggunakan Harbor secara aman, koneksi ke registry wajib dienkripsi melalui HTTPS. Sertifikat SSL dari Let's Encrypt secara gratis bisa digunakan, baik diterapkan langsung pada Harbor atau melalui reverse proxy (umum menggunakan Nginx).
Panduan ini akan menjelaskan dua skenario instalasi SSL: langsung pada Harbor atau melalui reverse proxy Nginx. Username dan password admin juga akan dikonfigurasi.
B. Langkah-langkah
1. Prasyarat
- Domain valid, misal: harbor.domainanda.com, yang sudah mengarah ke IP server.
- Hak akses sudo/root.
- Buka port 80 & 443 pada firewall.
- Server berbasis Ubuntu 22.04 atau RHEL9/AlmaLinux9/RockyLinux9.
2. Instalasi Docker & Docker Compose
a. Ubuntu 22.04
b. RHEL9/AlmaLinux9/Rocky9
3. Download & Ekstrak Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
tar xzvf harbor-offline-installer-v2.0.0.tgz
cd harbor
4. Konfigurasi Username & Password Admin Harbor
Salin dan edit file konfigurasi:
cp harbor.yml.tmpl harbor.yml
nano harbor.yml
- Temukan:
harbor_admin_password: Harbor12345
WAJIB: Ganti password admin sesuai kebijakan keamanan perusahaan Anda.
- Username admin selalu: admin
- Password admin: sesuai isian pada harbor_admin_password.
5. Pilihan Konfigurasi SSL
A. SSL Langsung pada Harbor
Dapatkan Sertifikat Let’s Encrypt dengan Certbot:
- Berhentikan web server lain di port 80/443 sebelum generate!
- Install dan jalankan certbot:
# Ubuntu
sudo apt install certbot -y
# RHEL/Alma/Rocky
sudo dnf install certbot -y
# Jalankan certbot
sudo certbot certonly --standalone -d harbor.domainanda.com
File hasil:
- Certificate: /etc/letsencrypt/live/harbor.domainanda.com/fullchain.pem
- Private key: /etc/letsencrypt/live/harbor.domainanda.com/privkey.pem
Set Konfigurasi SSL di harbor.yml:
hostname: harbor.domainanda.com
https:
port: 443
certificate: /etc/letsencrypt/live/harbor.domainanda.com/fullchain.pem
private_key: /etc/letsencrypt/live/harbor.domainanda.com/privkey.pem
# Optional: disable HTTP
# http:
# port: 80
B. SSL Melalui Reverse Proxy (Nginx)
Atur Harbor untuk listen di HTTP (misal port 8080):
hostname: harbor.domainanda.com
http:
port: 8080
# https:
# port: 443
# certificate: ...
# private_key: ...
Install Nginx:
- Ubuntu: sudo apt install nginx -y
- RHEL/Alma/Rocky: sudo dnf install nginx -y
Konfigurasi Nginx Reverse Proxy: Buat konfigurasi baru misal /etc/nginx/conf.d/harbor.conf:
server {
listen 80;
server_name harbor.domainanda.com;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Reload Nginx:
sudo nginx -t
sudo systemctl reload nginx
Request sertifikat SSL Let’s Encrypt via Certbot Nginx:
# Ubuntu
sudo apt install python3-certbot-nginx -y
# RHEL/Alma/Rocky
sudo dnf install python3-certbot-nginx -y
sudo certbot --nginx -d harbor.domainanda.com
- Certbot akan mengupdate file Nginx agar HTTPS aktif.
6. Instalasi Harbor
sudo ./install.sh
- Proses ini otomatis membuat & menjalankan container-container Harbor.
7. Akses & Pengaturan Awal
- Buka browser: https://harbor.domainanda.com
-
Login menggunakan:
- Username: admin
- Password: sesuai yang diatur pada langkah 4.
- Setelah login, segera ganti password jika diperlukan dan buat user/role lain sesuai kebutuhan.


8. Renewal Otomatis SSL Let’s Encrypt
SSL langsung di Harbor:
Renewal Let’s Encrypt perlu restart Harbor agar sertifikat baru aktif.
Contoh cron untuk renewal:
0 3 * * * root certbot renew --quiet --pre-hook "docker-compose -f /opt/harbor/docker-compose.yml down" --post-hook "docker-compose -f /opt/harbor/docker-compose.yml up -d"
Reverse proxy Nginx:
Renew otomatis, hanya reload Nginx (lebih seamless):
0 3 * * * root certbot renew --quiet --nginx
C. Penutup
Dengan mengikuti panduan ini, Anda telah berhasil menginstal Harbor sebagai registry private, mengamankan akses melalui SSL Let’s Encrypt beserta reverse proxy Nginx di Ubuntu 22.04 maupun RHEL9 (AlmaLinux/Rocky Linux 9). Konfigurasi ini memastikan keamanan dan kemudahan akses pengelolaan image Docker dalam lingkungan perusahaan maupun organisasi Anda dan untuk pengaturan user dan project lebih lanjut, silakan kunjungi dokumentasi resmi Harbor.
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
10 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
4 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
2 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
6 people say this guide was helpful