Panduan Komprehensif: Instalasi GitLab CE dengan Docker dan Integrasi Cloudflare Tunnel
Pelajari cara membuat server GitLab yang aman, efisien, dan mudah diakses. Cocok untuk developer dan DevOps engineer!


Artikel ini menyajikan panduan langkah demi langkah untuk menginstal GitLab Community Edition (CE) menggunakan Docker, solusi containerisasi yang populer. Selain itu, artikel ini juga menjelaskan cara mengintegrasikan GitLab dengan Cloudflare Tunnel untuk meningkatkan keamanan dan aksesibilitas server.
Dengan pendekatan yang komprehensif, pembaca akan mempelajari cara menyiapkan lingkungan pengembangan GitLab yang efisien, aman, dan mudah diakses. Panduan ini cocok untuk developer, DevOps engineer, atau siapa saja yang ingin menjalankan GitLab secara mandiri dengan infrastruktur modern berbasis Docker dan Cloudflare.
Prasyarat
Sebelum memulai, pastikan prasyarat berikut terpenuhi:
- Sistem Operasi: Sistem operasi yang kompatibel dengan Docker. Debian/Ubuntu digunakan dalam artikel ini.
- Docker dan Docker Compose: Instal Docker dan Docker Compose. Instruksi instalasi dapat ditemukan di dokumentasi resmi Docker docs.docker.com. Pastikan user Anda tergabung dalam group docker agar tidak perlu menggunakan sudo setiap menjalankan perintah docker. Artikel ini juga menyertakan panduan instalasinya.
- Akun Cloudflare: Akun dengan akses Zero Trust
Langkah-Langkah Instalasi
Persiapan
- Update Paket: Lakukan update paket sistem operasi:
sudo apt update && sudo apt upgrade -y
- Instalasi Docker:
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture signed-by=/usr/share/keyrings/docker-archive-keyring.gpg)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- Instalasi Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- Verifikasi Instalasi Docker Compose:
docker-compose version
- Tambahkan User ke Group Docker: *(agar tidak perlu sudo)
sudo usermod -aG docker $USER && newgrp docker
Instalasi GitLab
Anda dapat memilih salah satu dari dua opsi berikut untuk menginstal GitLab:
1. Menggunakan docker-compose.yml
(disarankan)
Buat file docker-compose.yml
dengan konfigurasi berikut:
version: "3"
services:
gitlab:
container_name: gitlab-server
image: gitlab/gitlab-ce:latest
restart: always
ports:
- "8081:80" # Port internal untuk Cloudflare Tunnel
- "1022:22" # Port SSH (opsional)
volumes:
- gitlab_config:/etc/gitlab
- gitlab_logs:/var/log/gitlab
- gitlab_data:/var/opt/gitlab
shm_size: "2gb"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://git.example.com' # Ganti dengan domain Anda
gitlab_rails['gitlab_shell_ssh_port'] = 22
volumes:
gitlab_config:
gitlab_logs:
gitlab_data:
Jalankan dengan perintah:
docker-compose up -d
2. Menggunakan docker run
docker run -d \
--name gitlab-server \
--publish 8081:80 \
--publish 1022:22 \
--restart always \
--volume gitlab_config:/etc/gitlab \
--volume gitlab_logs:/var/log/gitlab \
--volume gitlab_data:/var/opt/gitlab \
--shm-size 2gb \
gitlab/gitlab-ce:latest
Memantau Status Container
Pantau status container dengan perintah:
docker ps
Pastikan status container gitlab-server
adalah healthy
.
Inisialisasi dan Konfigurasi Awal GitLab
Setelah container berjalan, akses GitLab melalui browser di http://<IP_Server>:8081
. Anda akan diarahkan ke halaman inisialisasi GitLab.
Untuk melihat password awal user root
, jalankan perintah berikut di terminal host:
docker exec -it gitlab-server grep 'Password:' /etc/gitlab/initial_root_password
Segera ganti password ini setelah login.
Integrasi dengan Cloudflare Tunnel
Pilih salah satu dari dua opsi untuk menjalankan Cloudflare Tunnel berikut:
1. Menggunakan docker run
docker run -d \
--name cloudflare \
--restart always \
--network cloudflared \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token <your-token-here>
2. Menggunakan docker-compose.yml
(Terpisah)
Buat file docker-compose-cloudflare.yml
:
version: '3'
services:
cloudflare:
image: cloudflare/cloudflared:latest
restart: always
command: tunnel --no-autoupdate run --token <your-token-here>
networks:
- cloudflared
networks:
cloudflared:
Jalankan dengan perintah:
docker-compose -f docker-compose-cloudflare.yml up -d
Penjelasan:
--token
: Ganti<your-token-here>
dengan token Cloudflare Tunnel Anda.--network cloudflared
: Menghubungkan container ke networkcloudflared
.
Menghubungkan GitLab ke Network Cloudflare
Hubungkan container gitlab-server
ke network cloudflared
:
docker network connect cloudflared gitlab-server
Verifikasi Koneksi
Verifikasi koneksi dengan perintah:
docker network inspect cloudflared
Pastikan kedua container terdaftar di network cloudflared
.
Konfigurasi DNS Cloudflare
Di dashboard Cloudflare, buat DNS record yang mengarah ke tunnel yang Anda buat.
Kesimpulan
Artikel ini telah membahas panduan komprehensif untuk menginstal GitLab Community Edition (CE) menggunakan Docker, serta mengintegrasikannya dengan Cloudflare Tunnel guna meningkatkan keamanan dan aksesibilitas server. Dengan mengikuti langkah-langkah ini, Anda telah berhasil menginstal GitLab CE menggunakan Docker, memungkinkan Anda memanfaatkan containerisasi untuk pengelolaan server yang lebih efisien dan fleksibel.
Panduan ini memberikan solusi modern bagi developer, DevOps engineer, atau siapa saja yang ingin menjalankan GitLab secara mandiri dengan infrastruktur yang terukur dan aman. Dengan demikian, Anda sekarang memiliki lingkungan pengembangan yang siap mendukung proyek-proyek Anda dengan teknologi terkini.