Press "Enter" to skip to content

Install Gitlab on Ubuntu 24.04

Last updated on August 11, 2024

Preparation

  • OS & Network settings
## OS version
root@gitlab:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:    24.04
Codename:   noble

## kernel version
root@gitlab:~# uname -r
6.8.0-40-generic

## ip address
root@gitlab:~# ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c5:b4:eb brd ff:ff:ff:ff:ff:ff
    altname enp2s0
    inet 192.168.70.6/24 brd 192.168.70.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fec5:b4eb/64 scope link
       valid_lft forever preferred_lft forever
       
## local DNS resolve
root@gitlab:~# cat /etc/hosts
127.0.0.1 localhost
192.168.70.6 gitlab

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

## hostname setting
root@gitlab:~# hostnamectl
 Static hostname: gitlab
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: 9850dbb1123f4fea8c517d4e5f567082
         Boot ID: 99762541ba1649e1b16e1618bd8bf537
  Virtualization: vmware
Operating System: Ubuntu 24.04 LTS
          Kernel: Linux 6.8.0-40-generic
    Architecture: arm64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware20,1
Firmware Version: VMW201.00V.21805430.BA64.2305221830
   Firmware Date: Mon 2023-05-22
    Firmware Age: 1y 2month 2w 6d
    
  • Please confirm the OS is up to date before start
## make cache from apt src
root@gitlab:~# apt update
Hit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

## upgrade and patch current pkgs which already installed
root@gitlab:~# apt upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  • Install related pkgs
root@gitlab:~# apt install curl openssh-server ca-certificates tzdata perl postfix -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
curl is already the newest version (8.5.0-2ubuntu10.2).
openssh-server is already the newest version (1:9.6p1-3ubuntu13.4).
ca-certificates is already the newest version (20240203).
tzdata is already the newest version (2024a-3ubuntu1.1).
tzdata set to manually installed.
perl is already the newest version (5.38.2-3.2build2).
perl set to manually installed.
postfix is already the newest version (3.8.6-1build2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Install Gitlab

  • Download and install gitlab repo pkg
root@gitlab:~# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6865  100  6865    0     0  15207      0 --:--:-- --:--:-- --:--:-- 15188
Detected operating system as Ubuntu/noble.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/gitlab_gitlab-ce.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.

The repository is setup! You can now install packages.
  • Install gitlab-ce
root@gitlab:~# apt install gitlab-ce -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libatomic1
The following NEW packages will be installed:
  gitlab-ce libatomic1
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 961 MB of archives.
After this operation, 3,098 MB of additional disk space will be used.
Get:2 http://ports.ubuntu.com/ubuntu-ports noble/main arm64 libatomic1 arm64 14-20240412-0ubuntu1 [11.4 kB]
Get:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu noble/main arm64 gitlab-ce arm64 17.2.2-ce.0 [961 MB]
Fetched 961 MB in 9s (101 MB/s)
Selecting previously unselected package libatomic1:arm64.
(Reading database ... 129871 files and directories currently installed.)
Preparing to unpack .../libatomic1_14-20240412-0ubuntu1_arm64.deb ...
Unpacking libatomic1:arm64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package gitlab-ce.
Preparing to unpack .../gitlab-ce_17.2.2-ce.0_arm64.deb ...
Unpacking gitlab-ce (17.2.2-ce.0) ...
Setting up libatomic1:arm64 (14-20240412-0ubuntu1) ...
Setting up gitlab-ce (17.2.2-ce.0) ...
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.



     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/


Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=17-2

Processing triggers for libc-bin (2.39-0ubuntu8.2) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
  • Change the external_url
## change the external_url as you like(in this sample is http://192.168.70.6)
root@gitlab:~# vim /etc/gitlab/gitlab.rb
root@gitlab:~# cat /etc/gitlab/gitlab.rb | grep -v '^#' | grep -i external_url
external_url 'http://192.168.70.6'
  • Start service
## reconfigure
root@gitlab:~# gitlab-ctl reconfigure

## start service
root@gitlab:~# gitlab-ctl start
ok: run: alertmanager: (pid 18806) 51s
ok: run: gitaly: (pid 18767) 54s
ok: run: gitlab-exporter: (pid 18782) 53s
ok: run: gitlab-kas: (pid 18338) 145s
ok: run: gitlab-workhorse: (pid 18748) 54s
ok: run: logrotate: (pid 18042) 169s
ok: run: nginx: (pid 18762) 54s
ok: run: node-exporter: (pid 18775) 53s
ok: run: postgres-exporter: (pid 18815) 51s
ok: run: postgresql: (pid 18165) 151s
ok: run: prometheus: (pid 18792) 52s
ok: run: puma: (pid 18395) 119s
ok: run: redis: (pid 18078) 163s
ok: run: redis-exporter: (pid 18784) 53s
ok: run: sidekiq: (pid 18423) 113s

## check service status
root@gitlab:~# gitlab-ctl status
run: alertmanager: (pid 18806) 53s; run: log: (pid 18686) 71s
run: gitaly: (pid 18767) 56s; run: log: (pid 18119) 158s
run: gitlab-exporter: (pid 18782) 55s; run: log: (pid 18630) 89s
run: gitlab-kas: (pid 18338) 147s; run: log: (pid 18349) 146s
run: gitlab-workhorse: (pid 18748) 56s; run: log: (pid 18518) 107s
run: logrotate: (pid 18042) 171s; run: log: (pid 18050) 170s
run: nginx: (pid 18762) 56s; run: log: (pid 18604) 100s
run: node-exporter: (pid 18775) 55s; run: log: (pid 18623) 94s
run: postgres-exporter: (pid 18815) 53s; run: log: (pid 18710) 65s
run: postgresql: (pid 18165) 153s; run: log: (pid 18176) 152s
run: prometheus: (pid 18792) 54s; run: log: (pid 18667) 77s
run: puma: (pid 18395) 121s; run: log: (pid 18413) 118s
run: redis: (pid 18078) 165s; run: log: (pid 18098) 162s
run: redis-exporter: (pid 18784) 55s; run: log: (pid 18648) 83s
run: sidekiq: (pid 18423) 115s; run: log: (pid 18439) 114s
  • Find your 1st login passwd
## the initial root passwd
root@gitlab:~# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: SiFsGwcl+Kar2t0LZVIUtr3Z3Eo1o+9ELMAJty4q3zQ=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Evaluate to login now

  • Successful login

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *