Panduan Lengkap Install dan Konfigurasi Gitlab Selfhosted
Persiapan Sebelum Install Gitlab Selfhosted
Sebelum memulai instalasi, kita perlu memastikan bahwa infrastruktur server sudah siap. Panduan Lengkap Install dan Konfigurasi Gitlab Selfhosted dimulai dengan tahap persiapan ini karena kesuksesan proses instalasi sangat bergantung pada sistem yang kompatibel dan stabil.
1. Spesifikasi Minimum Server
Kita perlu menyiapkan server dengan spesifikasi berikut:
- CPU: 2 core (minimal), 4 core (disarankan)
- RAM: 4 GB (minimal), 8 GB (disarankan)
- Storage: 20 GB (minimal), SSD sangat disarankan
- OS: Ubuntu 22.04, CentOS 8, Debian 11 (stabil)
Menurut Gitlab Inc., lebih dari 70% pengguna self-hosted memilih Ubuntu karena kestabilannya.
2. Akses Root dan Firewall
Pastikan kita memiliki akses root ke server dan memeriksa bahwa port berikut terbuka:
- 22/tcp untuk SSH
- 80/tcp dan 443/tcp untuk HTTP/HTTPS
- 587/tcp untuk SMTP (jika menggunakan notifikasi email)
3. Update dan Instalasi Dependensi Dasar
sudo apt update && sudo apt upgrade -y
sudo apt install curl openssh-server ca-certificates tzdata perl -y
Langkah ini penting untuk memastikan sistem dalam kondisi siap dan up-to-date.
Langkah-langkah Instalasi Gitlab di Server Sendiri
Pada bagian ini, kita akan mengikuti langkah-langkah step-by-step untuk instalasi Gitlab self-hosted. Kami menggunakan Ubuntu 22.04 sebagai contoh utama.
1. Tambahkan Repositori Gitlab dan Instal Paket
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
Kemudian jalankan:
sudo EXTERNAL_URL="https://gitlab.domainkita.com" apt install gitlab-ee
Pastikan untuk mengganti URL dengan domain atau IP publik kita.
2. Konfigurasi Domain dan HTTPS
Kita dapat menggunakan Let's Encrypt untuk HTTPS otomatis:
sudo gitlab-ctl reconfigure
Konfigurasi HTTPS akan dilakukan otomatis jika external_url menggunakan protokol https.
3. Verifikasi Instalasi
Setelah instalasi, akses:
https://gitlab.domainkita.com
Login pertama kali akan meminta kita mengganti password default administrator.
Konfigurasi Gitlab Selfhosted untuk Produksi
Instalasi selesai bukan akhir dari perjalanan. Kini kita masuk pada panduan konfigurasi Gitlab lokal agar siap digunakan secara aman dan optimal.
1. Konfigurasi Email SMTP
Edit /etc/gitlab/gitlab.rb:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.domain.com"
gitlab_rails['smtp_port'] = 587
Lalu reconfigure:
sudo gitlab-ctl reconfigure
2. Integrasi CI/CD
Kita bisa mengatur runner menggunakan Gitlab Runner:
sudo apt install gitlab-runner
gitlab-runner register
Integrasi ini penting untuk mengaktifkan pipeline otomatis dan deployment kontinyu.
3. Tambah SSL/TLS Otomatis
Jika menggunakan nginx bawaan Gitlab, cukup aktifkan:
letsencrypt['enable'] = true
Ini membuat keamanan Gitlab kita setara dengan standar industri.
Keamanan dan Backup Gitlab Mandiri
Keamanan adalah hal utama ketika kita mengelola server pribadi. Berikut langkah-langkah penting untuk mengamankan Gitlab self-managed.
1. Batasi Akses Melalui Firewall
Gunakan ufw atau firewall lain untuk membuka port yang hanya dibutuhkan. Contoh:
ufw allow 22/tcp
ufw allow 443/tcp
2. Backup Otomatis
Aktifkan backup dengan menambahkan di crontab:
0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1
Pastikan direktori backup disimpan di luar server utama.
3. Update Rutin
Gunakan perintah berikut untuk update aman:
sudo apt update && sudo apt upgrade gitlab-ee
Gitlab merilis patch keamanan secara rutin—rata-rata 1-2 kali per bulan.
Optimasi dan Scaling Gitlab On-Premise
Gitlab mandiri perlu disesuaikan dengan skala organisasi. Berikut tips optimasi dan scaling Gitlab lokal.
1. Gunakan External Database
Untuk skala besar, pindahkan PostgreSQL ke server terpisah.
2. Konfigurasi Caching Redis
Redis bawaan Gitlab dapat dioptimalkan dengan memori lebih besar untuk cache session.
3. Pemantauan dan Logging
Gunakan tools seperti Prometheus dan Grafana untuk monitoring. Statistik menunjukkan bahwa 84% enterprise Gitlab deployment mengandalkan observability tools untuk stabilitas.
| Komponen | Default Gitlab | Rekomendasi Produksi |
|---|---|---|
| DB | Internal PostgreSQL | External PostgreSQL |
| Cache | Internal Redis | Redis Cluster |
| Web Server | Nginx bawaan | Nginx Reverse Proxy |
| Storage | Lokal | NFS atau S3 Bucket |
Troubleshooting Umum Gitlab Lokal
Dalam perjalanan menggunakan Gitlab mandiri, kita akan menemukan berbagai masalah. Berikut beberapa kasus umum dan cara mengatasinya.
1. Gitlab Tidak Bisa Diakses
Kemungkinan masalah:
- SSL tidak aktif
- DNS belum mengarah ke IP server
Solusi: Cek file /etc/gitlab/gitlab.rb, pastikan external_url sesuai.
2. Email Notifikasi Tidak Terkirim
Solusi cepat:
- Cek konfigurasi SMTP
- Cek firewall outbound port 587
- Lihat log:
gitlab-rails/production.log
3. Pipeline CI/CD Gagal
Kemungkinan penyebab:
- Runner belum terdaftar
- File
.gitlab-ci.ymlsalah
Gunakan perintah:
gitlab-runner verify
FAQ
Apa keunggulan Gitlab Selfhosted dibanding Gitlab.com?
Kita memiliki kontrol penuh atas sistem, dapat melakukan kustomisasi, dan menjaga keamanan data secara lokal.
Berapa biaya menggunakan Gitlab Selfhosted?
Gitlab CE (Community Edition) bersifat gratis, namun kita tetap menanggung biaya infrastruktur dan pemeliharaan server.
Apakah Gitlab Selfhosted aman digunakan untuk perusahaan?
Ya, dengan konfigurasi yang tepat (SSL, firewall, backup), Gitlab sangat aman untuk digunakan skala perusahaan.
Bagaimana cara backup dan restore Gitlab?
Gunakan gitlab-backup create untuk backup dan gitlab-backup restore untuk recovery.
Bisakah Gitlab dijalankan di VPS murah?
Bisa, tapi performa akan terbatas. Disarankan VPS dengan minimal 2 core dan 4GB RAM.
Kesimpulan
Gitlab self-hosted memberikan fleksibilitas dan kontrol yang tidak bisa kita dapatkan dari layanan berbasis cloud publik. Dengan mengikuti Panduan Lengkap Install dan Konfigurasi Gitlab Selfhosted ini, kita dapat membangun lingkungan kerja yang terintegrasi, aman, dan efisien. Mulai dari instalasi dasar hingga konfigurasi lanjutan, keamanan, serta troubleshooting telah dibahas secara menyeluruh untuk memastikan kita dapat mengelola proyek perangkat lunak dengan percaya diri.
Key Takeaways
- Gitlab Selfhosted menawarkan kontrol penuh atas pengelolaan kode dan CI/CD.
- Instalasi memerlukan spesifikasi server yang sesuai, terutama untuk produksi.
- Konfigurasi HTTPS, SMTP, dan CI/CD sangat penting untuk performa dan keamanan.
- Backup otomatis dan update rutin menjaga stabilitas sistem.
- Optimasi seperti Redis, PostgreSQL eksternal, dan monitoring membantu scaling jangka panjang.




