Gitlab is a git front end with repository management, graphs, links, goodies, commands to run, and review capabilities similar in feel to a self-hosted ?GitHub.

A new feature release of gitlab flows in the following direction: devel -> staging -> experimental -> unstable -> fasttrack-staging -> fasttrack (experimental and unstable may be skipped during freeze and transitions).

See /omnibus if you are looking for instructions to install upstream provided packages.

New upstream releases (including security updates) are announced at https://about.gitlab.com/releases/categories/releases/ and available as RSS feed https://about.gitlab.com/security-releases.xml.

Debian is running its own Instance of GitLab under https://salsa.debian.org, which is not based on the packaged version.

Note 1: For a smooth upgrade experience, always stay on the latest major version of gitlab. For example, if latest version of gitlab is 12.0.0 and you are currently on 11.3.6, then update to 12.0.0 as soon as possible, certainly before the debian package is updated to 13.x. Ideally, you should update as soon as a new version with security updates is available.

Note 2: It is recommended to subscribe to changes in this wiki page or frequently check this page for updates. Alternatively, you can subscribe to https://tracker.debian.org/pkg/gitlab to get notified when new versions are uploaded.

Make sure contrib section is enabled for official repos. Check /etc/apt/sources.list and make sure contrib is present along with main.

Story of Gitlab packaging project/FAQ about Gitlab packaging

Gitlab Inc sponsored the packaging effort for 6+ years (2016-2022). Currently looking for donations at https://opencollective.com/debian-gitlab.

Though the dependencies are so many, the work benefits Debian immensely by maintaining many important build tools like webpack, rollup, babel, npm, yarn... And frameworks like ruby on rails.

The situation in packaging ?JavaScript modules is considerably improved over the years thanks to this packaging work. It took over 2 years for packaging handlebars_assets gem for diaspora because its embedded ?JavaScript library was using tools like gulp, webpack, jison etc and none of this was packaged for Debian. The whole ?JavaScript build tools were untouched for years in Debian and instead reverse engineering of the build tools for specific libraries was the norm (for example jquery), it was very hard and not scalable.

Out of 1600+ node modules gitlab needs, we have 1200+ modules already packaged. It is not impossible to have it in main (it was in main earlier before the nodejs modules exploded exponentially and if some more people join the team, currently it is mostly a single person work and at times some new people helping out with a handful of dependencies. I don't think it is much harder if you take whole gnome or KDE as comparison. We are able to pull it off because of team work. This project have also brought many new contributors to Debian.

While we might love long term supported releases, calling anything moving fast as insane and not able to adapt to change is a recipe for Debian becoming irrelevant over time. Many just want distros to be only a base os for shipping containers but that is not necessarily a good thing for users to have dependency on a single project for updates and lose choice and flexibility.

We created https://fasttrack.debian.net to serve gitlab as it did not fit into a debian stable release cycle and currently not just gitlab, but matrix synapse and virtual box is also shipped via FastTrack.

If you are using the gitlab package, please participate in this survey so we know the impact of this work https://surveys.debian.net/index.php?r=survey/index&sid=142968&lang=en

System specifications

We have only tested on Intel 64 bit machine (amd64). So it is recommended to have 64 bit Intel machines for gitlab. It is recommended to have 4GB of RAM and 4GB of swap space available as running webpack during installation is very resource intensive.

New changes

  1. From gitlab 14.7.7: gitlab user needs to write to /var/lib/gitlab/.gem so if you installed gems manually as root user, you will need to update permissions or remove this directory. Gitlab package now installs required unpackaged gems in that directory automatically.

See gitlab/news for older archived entries.

Bookworm FastTrack (Recommended)

For upgrading from Bullseye to Bookworm, see the instructions on the following page: GitLab upgrade from Bullseye to Bookworm.

gitlab 17.0.8 is available in Bookworm FastTrack (no open security issues). But if you changed gitlab user from default value of 'gitlab', please wait for fix in gitaly-installer before updating.

Add fasttrack.debian.net as a trusted repo for apt,

# apt install fasttrack-archive-keyring ca-certificates

And add the following lines for fasttrack repo:

deb https://fasttrack.debian.net/debian/ bookworm-fasttrack main contrib
# For dependency packages not in testing only temporarily due to freeze, transitions or delayed by backports-new or NEW.
deb https://fasttrack.debian.net/debian/ bookworm-backports-staging main contrib

Currently yarnpkg is broken in bookworm, see 1058596, so you will need to install a fixed version of yarnpkg from StableProposedUpdates. This will be fixed via next bookworm point release.

And install gitlab:

# apt update
# apt install gitlab-apt-pin-preferences
# apt install gitlab

Unstable (be careful when updating packages)

See Experimental section below.

# apt update
# apt install gitlab

Note: Some dependencies may only be available from experimental when introducing breaking changes, as transition process has to be followed and can take some time if many reverse dependencies need updates. So you may have to install those specifically from experimental.

Experimental - During freeze and transitions

gitlab 16.11.6 is available in unstable (no open security issues).

If you are using experimental for the first time, check DebianExperimental.

Experimental/unstable Staging

When gitlab is not ready for official experimental/unstable (for example some dependencies need to clear NEW queue), it will be available from this repo.

This section moved to gitlab/staging.

Gitlab on older releases

These versions no longer receive any security updates and it is recommended to upgrade to Debian 11 Bullseye to continue receiving security updates.

Troubleshooting common issues

See gitlab/troubleshooting

Tips and tweaks

See Tweaks for GitLab for things like configuring gitlab with apache 2 or configuring puma in single process mode.

Contact maintainers

You can reach the maintainers of the gitlab package via

  1. Matrix at #debian-gitlab:poddery.com (join via browser)

  2. IRC #debian-gitlab on OFTC network (join via browser)

  3. Via XMPP at #debian-gitlab%irc.oftc.net@irc.jabberfr.org

Documentation for gitlab maintainers