GitLab

The Gitlab overlay, originally the CVUT overlay, is currently on par with the latest GitLab version (13.8.4 as of January 2021). The repo and issues can be found here.

With version 13.8.3 the former www-apps/gitlabhq package was renamed to www-apps/gitlab. Since the gitlab core and gitlab-gitaly must neccessarily have the same version the former dev-vcs/gitlab-gitaly package was abandoned and gitlab-gitaly is now included in the www-apps/gitlab package.

By means of "Post Deployment Migrations" as described here starting with version 13.8.4 upgrading takes place without downtime (Nearly: The still required restart needs some time). This made the slots obsolete and so the upgrade procedure less complicated.

The migration from a www-apps/gitlabhq installation to a www-apps/gitlab one is supported by all www-apps/gitlab-13.8.x ebuilds. For more information read the 2021-02-10-gitlabhq-to-gitlab news message of the overlay.

Installation
The overlay may be added using either or.

To add using :

To add using :

GitLab requires the use of a database backend. Since version 12 PostgreSQL is the only supported database.

USE flags
The gitaly_git USE flag uses the bundled Git from gitlab-gitaly instead of dev-vcs/git. The puma USE flag is preselected because with GitLab 12.9 Puma has replaced Unicorn as the default web server. The systemd USE flag is preselected since the maintainer of the overlay ran out of OpenRC hosts for init script testing. :-) But with the help of some users of the overlay the OpenRC init scripts will be provided further on.

Preparations
Add the following keywords to be accepted by Portage (we use amd64 as architecture here; x86 is also available):

From GitLab 13.6 on Ruby 2.7 or later is required. Until Ruby 2.7 will be stabilized one must add further keywords to be accepted. As of January 2021 these were the following versions:

The overlay overrides the gentoo acct-user/git package introducing a new USE flag gitlab which creates the git user as required by www-apps/gitlab with HOME in /var/lib/gitlab/ and as member in the redis group. Add the USE Flag:

Emerge
Next emerge the package and follow the instructions given on the output (here the output of a 13.8.4 installation for an example).

Work through the list. Note that the database you specify in /etc/gitlab/database.yml will be deleted by the "Initializing database" step below! Finally run the configuration script (again with an example output).

The Administrator password and email are used for the initial administrator account of the GitLab web application. In the above omitted "messages from the database creation and initialization" you'll find the login and password for this account. You should use a working email address as on startup GitLab will send an "Access to the GitLab Instance group was granted" mail to this address.

Now start GitLab, log in with the administrator account and adopt the default settings to your need.

Files
TBD

OpenRC
Starting gitlab:

Current status:

Starting automatically at system boot:

systemd
Starting gitlab:

Current status:

Starting automatically at system boot:

Diagnostics
Run this command to get a full diagnostic.

Usage
TBD

Upgrade
TBD

External Resources
TBD