Chapters ▾ 2nd Edition

4.8 Git on the Server - GitLab

GitLab

GitWeb is pretty simplistic though. If you’re looking for a modern, fully featured Git server, there are several open source solutions out there that you can install instead. As GitLab is one of the popular ones, we’ll cover installing and using it as an example. This is harder than the GitWeb option and will require more maintenance, but it is a fully featured option.

Installation

GitLab is a database-backed web application, so its installation is more involved than some other Git servers. Fortunately, this process is well-documented and supported. GitLab strongly recommends installing GitLab on your server via the official Omnibus GitLab package.

The other installation options are:

  • GitLab Helm chart, for use with Kubernetes.

  • Dockerized GitLab packages for use with Docker.

  • From the source files.

  • Cloud provider such as AWS, Google Cloud Platform, Azure, OpenShift and Digital Ocean.

For more information read the GitLab Community Edition (CE) readme.

Administration

GitLab’s administration interface is accessed over the web. Simply point your browser to the hostname or IP address where GitLab is installed, and log in as the admin user. The default username is admin@local.host, and the default password is 5iveL!fe (which you must change right away). After you’ve logged in, click the “Admin area” icon in the menu at the top right.

The “Admin area” item in the GitLab menu
Малюнак 50. The “Admin area” item in the GitLab menu

Users

Everybody using your GitLab server must have an user account. User accounts are quite simple, they mainly contain personal information attached to login data. Each user account has a namespace, which is a logical grouping of projects that belong to that user. If the user jane had a project named project, that project’s url would be http://server/jane/project.

The GitLab user administration screen
Малюнак 51. The GitLab user administration screen

You can remove a user account in two ways: “Blocking” a user prevents them from logging into the