How To Install Gitlab Community Edition with SSL on Debian 10

Gitlab is a git repository manager with project manager, issue-tracking and CI/CD (Continuos integration/continuos deployment). Gitlab has free version which can be used by anyone on their own hardware, many company prefered Gitlab over Github because it can self hosted and free.

Not only developer can use Gitlab, event the designer, Business Development, Quality Assurance can use the gitlab for their use case. If you have experience using Github, it will take no time to familiarize your self with the UI, because the main basic of git still apply.

Set DNS Record

Setup A Record for your domain, for example I’ll use gitlab.atetux.com. The configuration depend on your DNS Hosting
set dns record for gitlab
Gitlab will take care of DNS instalation and management, so we wont need to changes anything after set DNS. DNS Propagetion might take up to 24 hours, but in most case it take less the few minutes. Verify this by ping your gitlab domain

PING gitlab.atetux.com (192.168.169.170) 56(84) bytes of data.
64 bytes from 192.168.169.170 (192.168.169.170): icmp_seq=1 ttl=51 time=195 ms
64 bytes from 192.168.169.170 (192.168.169.170): icmp_seq=2 ttl=51 time=194 ms
64 bytes from 192.168.169.170 (192.168.169.170): icmp_seq=3 ttl=51 time=195 ms
64 bytes from 192.168.169.170 (192.168.169.170): icmp_seq=4 ttl=51 time=194 ms
64 bytes from 192.168.169.170 (192.168.169.170): icmp_seq=5 ttl=51 time=194 ms

or use host

host gitlab.atetux.com
gitlab.atetux.com has address 192.168.169.170

run these command from your Gitlab server.

Update Debian 10

Keep the Debian up to date by updating the packages regularly

sudo apt update; sudo apt upgrade -y

Install Dependencies

Install necessary dependencies.

sudo apt install -y curl openssh-server ca-certificates gnupg

SMTP Server

To send notification email, install Postfix which is recommended by Gitlab. If you using third party mail services, skip this step.

sudo apt install postfix -y

personally I use AWS SES for this purpose, which cheap and reliable. We can use any SMTP server for this purpose, this service really important because every notification, for example Sign Up, Registration, CI/CD failed, etc will send to user email address, you wont want to miss these kind of notifications.

Gitlab Installer

Next step is to run the Gitlab installer, this is there recommended way to install Gitlab, it’ll handle the update and upgrade between Gitlab version.

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Install Gitlab

Install the latest version of Gitlab

sudo EXTERNAL_URL="https://gitlab.pesonalokal.net" apt-get install gitlab-ce

to use specific version change command above to

sudo EXTERNAL_URL="https://gitlab.jaranguda.com" apt-get install gitlab-ce=13.6.1-ce.0

where 13.6.1-ce.0 is the version number.

Create first admin

Open Gitlab url https://gitlab.DOMAIN.com, it’ll asking to change password
Gitlab create administrator password

For the username use root
admin login gitlab

Leave a Reply