Installing gitlab on CentOS 8 server

it may be easier if i just post the SSH transcript of what i have done:

[root@gameserver ~]# curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Detected operating system as fedora/33.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/config_file.repo?os=fedora&dist=33&source=script
done.
Installing pygpgme to verify GPG signatures...
gitlab_gitlab-ce-source                                                                                                                                      831  B/s | 862  B     00:01
Package pygpgme-0.3-9.el7.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Installing yum-utils...
Last metadata expiration check: 0:00:11 ago on Sun 19 Dec 2021 02:38:28 PM EST.
Package dnf-utils-4.0.23-1.fc33.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.

Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <support@gitlab.com>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...

The repository is setup! You can now install packages.
[root@gameserver ~]# yum install -y gitlab-ce
Last metadata expiration check: 0:00:11 ago on Sun 19 Dec 2021 02:38:45 PM EST.
No match for argument: gitlab-ce
Error: Unable to find a match: gitlab-ce
[root@gameserver ~]# yum install -y gitlab_gitlab-ce
Last metadata expiration check: 0:00:27 ago on Sun 19 Dec 2021 02:38:45 PM EST.
No match for argument: gitlab_gitlab-ce
Error: Unable to find a match: gitlab_gitlab-ce
[root@gameserver ~]# dnf install -y gitlab-ce
Last metadata expiration check: 0:01:29 ago on Sun 19 Dec 2021 02:38:45 PM EST.
No match for argument: gitlab-ce
Error: Unable to find a match: gitlab-ce
[root@gameserver ~]# dnf repolist
repo id                                                                               repo name
Webmin                                                                                Webmin Distribution Neutral
fedora                                                                                Fedora 33 - x86_64
fedora-cisco-openh264                                                                 Fedora 33 openh264 (From Cisco) - x86_64
fedora-modular                                                                        Fedora Modular 33 - x86_64
gitlab_gitlab-ce                                                                      gitlab_gitlab-ce
gitlab_gitlab-ce-source                                                               gitlab_gitlab-ce-source
gitlab_gitlab-ee                                                                      gitlab_gitlab-ee
gitlab_gitlab-ee-source                                                               gitlab_gitlab-ee-source
updates                                                                               Fedora 33 - x86_64 - Updates
updates-modular                                                                       Fedora Modular 33 - x86_64 - Updates
[root@gameserver ~]# dnf install -y gitlab_ce
Last metadata expiration check: 0:03:27 ago on Sun 19 Dec 2021 02:38:45 PM EST.
No match for argument: gitlab_ce
Error: Unable to find a match: gitlab_ce
[root@gameserver ~]# dnf install -y gitlab
Last metadata expiration check: 0:03:33 ago on Sun 19 Dec 2021 02:38:45 PM EST.
No match for argument: gitlab
Error: Unable to find a match: gitlab
[root@gameserver ~]# dnf install -y gitlab-ce
gitlab_gitlab-ee                                                                                                                                             2.5 kB/s | 951  B     00:00
gitlab_gitlab-ee-source                                                                                                                                      2.7 kB/s | 951  B     00:00
No match for argument: gitlab-ce
Error: Unable to find a match: gitlab-ce
[root@gameserver ~]# dnf install -y gitlab-ce --enablerepo=gitlab_gitlab-ce
Last metadata expiration check: 0:01:04 ago on Sun 19 Dec 2021 02:42:30 PM EST.
No match for argument: gitlab-ce
Error: Unable to find a match: gitlab-ce
[root@gameserver ~]# dnf search gitlab
Last metadata expiration check: 0:01:25 ago on Sun 19 Dec 2021 02:42:30 PM EST.
============================================================================== Name & Summary Matched: gitlab ===============================================================================
perl-GitLab-API-v4.noarch : Complete GitLab API v4 client
python-gitlab-doc.noarch : Python gitlab documentation
python3-gitlab.noarch : Interact with GitLab API
=================================================================================== Name Matched: gitlab ====================================================================================
golang-gitlab-commonmark-html-devel.noarch : HTML utilities for escaping/unescaping and for parsing HTML
golang-gitlab-commonmark-linkify.x86_64 : Find what looks like links in plain text
golang-gitlab-commonmark-linkify-devel.noarch : Find what looks like links in plain text
golang-gitlab-commonmark-markdown-devel.noarch : CommonMark-compliant markdown parser and renderer in Go
golang-gitlab-commonmark-mdurl-devel.noarch : Utilities for parsing, decoding and encoding URLs
golang-gitlab-commonmark-puny-devel.noarch : Functions for encoding/decoding to/from punycode
golang-gitlab-esr-fqme-devel.noarch : Go module that mines configuration files to discover full name and email address
golang-gitlab-flimzy-testy-devel.noarch : Go testing utilities
golang-gitlab-ianbruene-kommandant-devel.noarch : Command line meta-interpreter for Go
golang-gitlab-opennota-wd-devel.noarch : Comparing strings on a word per word basis and generating a coloured diff
golang-gitlab-yawning-obfs4-devel.noarch : The obfourscator, a pluggable transport for Tor
golang-gitlab-yawning-utls-devel.noarch : Fork of the Go standard TLS library, providing access to the ClientHello
================================================================================== Summary Matched: gitlab ==================================================================================
nodejs-hosted-git-info.noarch : Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab
[root@gameserver ~]# dnf install epel-release
gitlab_gitlab-ce                                                                                                                                             943  B/s | 862  B     00:00
gitlab_gitlab-ce-source                                                                                                                                      1.1 kB/s | 862  B     00:00
No match for argument: epel-release
Error: Unable to find a match: epel-release
[root@gameserver ~]# curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Detected operating system as fedora/33.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/config_file.repo?os=fedora&dist=33&source=script
done.
Installing pygpgme to verify GPG signatures...
gitlab_gitlab-ce-source                                                                                                                                      976  B/s | 862  B     00:00
gitlab_gitlab-ee                                                                                                                                             1.6 kB/s | 951  B     00:00
gitlab_gitlab-ee-source                                                                                                                                      2.7 kB/s | 951  B     00:00
Package pygpgme-0.3-9.el7.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Installing yum-utils...
Last metadata expiration check: 0:00:04 ago on Sun 19 Dec 2021 02:50:48 PM EST.
Package dnf-utils-4.0.23-1.fc33.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.

Generating yum cache for gitlab_gitlab-ce...
Generating yum cache for gitlab_gitlab-ce-source...

The repository is setup! You can now install packages.
[root@gameserver ~]# dnf install -y gitlab-ee
Last metadata expiration check: 0:00:27 ago on Sun 19 Dec 2021 02:50:56 PM EST.
No match for argument: gitlab-ee
Error: Unable to find a match: gitlab-ee
[root@gameserver ~]# dnf install -y gitlab_gitlab-ce
Last metadata expiration check: 0:00:48 ago on Sun 19 Dec 2021 02:50:56 PM EST.
No match for argument: gitlab_gitlab-ce
Error: Unable to find a match: gitlab_gitlab-ce
[root@gameserver ~]# dnf install -y gitlab_gitlab-ee
Last metadata expiration check: 0:00:59 ago on Sun 19 Dec 2021 02:50:56 PM EST.
No match for argument: gitlab_gitlab-ee
Error: Unable to find a match: gitlab_gitlab-ee
[root@gameserver ~]# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6928  100  6928    0     0  32834      0 --:--:-- --:--:-- --:--:-- 32990
Detected operating system as fedora/33.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=fedora&dist=33&source=script
done.
Installing pygpgme to verify GPG signatures...
gitlab_gitlab-ee-source                                                                                                                                      1.1 kB/s | 862  B     00:00
Package pygpgme-0.3-9.el7.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Installing yum-utils...
Last metadata expiration check: 0:00:05 ago on Sun 19 Dec 2021 02:52:17 PM EST.
Package dnf-utils-4.0.23-1.fc33.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.

Generating yum cache for gitlab_gitlab-ee...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <support@gitlab.com>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ee-source...

The repository is setup! You can now install packages.
[root@gameserver ~]# dnf install -y gitlab-ce
Last metadata expiration check: 0:00:14 ago on Sun 19 Dec 2021 02:52:27 PM EST.
No match for argument: gitlab-ce
Error: Unable to find a match: gitlab-ce
[root@gameserver ~]# dnf search gitlab
Last metadata expiration check: 0:00:38 ago on Sun 19 Dec 2021 02:52:27 PM EST.
============================================================================== Name & Summary Matched: gitlab ===============================================================================
perl-GitLab-API-v4.noarch : Complete GitLab API v4 client
python-gitlab-doc.noarch : Python gitlab documentation
python3-gitlab.noarch : Interact with GitLab API
=================================================================================== Name Matched: gitlab ====================================================================================
golang-gitlab-commonmark-html-devel.noarch : HTML utilities for escaping/unescaping and for parsing HTML
golang-gitlab-commonmark-linkify.x86_64 : Find what looks like links in plain text
golang-gitlab-commonmark-linkify-devel.noarch : Find what looks like links in plain text
golang-gitlab-commonmark-markdown-devel.noarch : CommonMark-compliant markdown parser and renderer in Go
golang-gitlab-commonmark-mdurl-devel.noarch : Utilities for parsing, decoding and encoding URLs
golang-gitlab-commonmark-puny-devel.noarch : Functions for encoding/decoding to/from punycode
golang-gitlab-esr-fqme-devel.noarch : Go module that mines configuration files to discover full name and email address
golang-gitlab-flimzy-testy-devel.noarch : Go testing utilities
golang-gitlab-ianbruene-kommandant-devel.noarch : Command line meta-interpreter for Go
golang-gitlab-opennota-wd-devel.noarch : Comparing strings on a word per word basis and generating a coloured diff
golang-gitlab-yawning-obfs4-devel.noarch : The obfourscator, a pluggable transport for Tor
golang-gitlab-yawning-utls-devel.noarch : Fork of the Go standard TLS library, providing access to the ClientHello
================================================================================== Summary Matched: gitlab ==================================================================================
nodejs-hosted-git-info.noarch : Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab
[root@gameserver ~]#

have i missed something?
Thanks in advance for any help.

~Travis

Hi,

I suggest not installing on CentOS 8 purely because it goes EOL on 31.12.2021 - so in about 11 days your system will no longer be supported or get updates.

I personally recommend using Debian 10 (Debian 11 package of Gitlab isn’t out yet, but you can install the Debian 10 one without problems), or utilise Ubuntu 20.04 LTS for Gitlab. If you really need a RHEL clone like CentOS, then I recommend Rocky Linux but you might have to jump through some extra hoops to get Gitlab installed (I haven’t tried to install on Rocky personally but it should work) - hence my previous recommendations for Debian/Ubuntu since that just works.

Good to know about CentOS going EOL in 11 days… i apparently didn’t get the memo, and my whole domain runs CentOS… that is a lot of migration to do, with the risk of accidentally formatting my data, and no budget for a backup server…
now i have to learn the in’s and out’s of a completely new distro.

anyway, thanks! i will look into Debian.

If you stick with Rocky Linux 8, then it’s just the same as RHEL/CentOS 8 so everything you know up until now will work on Rocky in just the same way. If you are willing to learn something new, then setting up Debian/Ubuntu is not so bad. Linux is Linux pretty much, each distro has their own way of doing things, but I feel that it’s great to have experience of a few distros. By default Debian doesn’t have a firewall set up like Rocky 8/RHEL 8/CentOS 8 has firewalld running by default. Ubuntu also doesn’t, but ufw is installed and can be configured.

Providing Rocky gets detected as EL8, then Gitlab will install without any extra steps to tell it that it’s RHEL8, or something. There is info in the documentation about it, so if you want to get something up and running in a familiar environment like CentOS, then Rocky would be the way to go. We can help out if their are any problems. I have a minimal Rocky instance, but can easily set one up with Gitlab CPU/RAM specs if you get stuck and then help you out with the steps needed to get it running.

i may just switch to debian. my CNC machine runs Debian (linuxcnc.org), so i at least have “some” experience with it. just a PITA to get all the services back up and running, and remembering how i did it…
hopefully on my main server, i can just use the established /home folder as is, as it would be a shame to lose all my data there. i know i can install under CentOS without affecting the /home, but haven’t tried it on Debian.
Fortunately, i even have Debian 10 on a flash drive from my CNC machine OS install. :slight_smile:

Yes, you can mount home and use it under Debian without any issues. I normally just copy the data and install to a new machine, but it is possible to re-use a partition and not format it.

The only thing you will need to do is make sure if creating users for a home directory that already exists is to reset permissions later if the uid/gid changed when adding the user. Or alternatively, make a note of the existing uid/gid of the user’s home directory and pass this when creating the new user.