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.
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.
Buster Fast Track (Recommended)
Gitlab 12.6.8 is available in unofficial fasttrack repo (some packages are still needed from personal repo of gitlab maintainer) targeting buster as base distribution. (no open security issues).
Add to /etc/apt/sources.list
deb http://fasttrack.debian.net/debian/ buster-fasttrack main contrib deb http://fasttrack.debian.net/debian/ buster-backports main contrib deb https://deb.debian.org/debian buster-backports contrib main # Eventually the packages in this repo will be moved to one of the previous two repos deb https://people.debian.org/~praveen/gitlab buster-backports contrib main
# apt update
You may encounter the following error message:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0B76920762A6B785
If so, those commands can help:
# wget https://people.debian.org/~praveen/gitlab/praveen.key.asc # wget http://fasttrack.debian.net/fasttrack-archive-key.asc # apt-key add praveen.key.asc # apt-key add fasttrack-archive-key.asc
# apt -t buster-backports install gitlab
Note: https://gitlab.debian.net is running on this version.
Unstable (be careful when updating packages)
Gitlab 12.6.8 is available in unstable (no open security issues).
Note: ssh access is currently broken with protobuf 3.10, so you need to use an older version of ruby-grpc and ruby-google-protobuf to get it working. A workaround is given at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942633#102. Also hold ruby-google-prootbuf and ruby-grpc at their older versions (See https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package#18656)
With deb https://people.debian.org/~praveen/protobuf/ experimental main contrib in sources.list
wget https://people.debian.org/~praveen/gitlab/praveen.key.asc && apt-key add praveen.key.asc && apt update
apt install ruby-google-protobuf=3.7.1-1 ruby-grpc=1.19.1-1 && apt-mark hold ruby-google-protobuf ruby-grpc
Currently gitlab installation is broken due to a change in libsass. A work around is to downgrade libsass and libsass-dev to 3.6.1. Use http://snapshot.debian.org/package/libsass/3.6.1-1/
Currently ruby 2.7 support needs some more work. A work around is to downgrade ruby and libruby packages. Use http://snapshot.debian.org/package/ruby-defaults/1%3A188.8.131.52/
Note: Use ruby-excon and ruby-aws-sdk from experimental until they can be uploaded to unstable
# apt install gitlab ruby-excon/experimental ruby-aws-sdk/experimental
We try to keep the version in unstable in a good shape with the latest security updates, but some times dependency updates break GitLab.
Experimental - During freeze and transitions
Gitlab 12.8.6 will be uploaded to experimental (no open security issues) as soon as ruby-stackprof clears NEW. If you are using experimental for the first time, check DebianExperimental.
Some transitions (list below) are delaying upload to unstable.
Install some dependencies from experimental,
# apt install ruby-aws-sdk/experimental ruby-excon/experimental # apt -t experimental install ruby-rails ruby-doorkeeper ruby-doorkeeper-openid-connect \ ruby-elasticsearch ruby-gitaly ruby-gitlab-labkit ruby-rails ruby-rails-i18n \ ruby-railties ruby-responders ruby-devise ruby-devise-two-factor \ ruby-state-machines-activemodel ruby-acts-as-taggable-on ruby-redis-actionpack
Now install gitlab from experimental,
# apt install git && apt install gitlab/experimental
Gitlab on Stretch
This is moved to gitlab/stretch now.
Gitlab with apache2
Gitlab can use apache instead of nginx. To get a working configuration for your version the best thing to do is to follow the (gitlab-recipes repository) instructions.
Debug installation and configuration
Gitlab is composed of several parts. As always logs (/var/log/gitlab), debian specific documentation (/usr/share/doc/gitlab/) and (official) documentation provide lots of information.
gitlab-rake is convenience script to easily run rake commands provided by gitlab in debian environment.
# gitlab-rake gitlab:check # gitlab-rake gitlab:env:info
gitlab-rails-console is another convenience script to launch a rails console in gitlab debian environment.
You can reach the maintainers of the gitlab package via
Matrix at #debian-gitlab:poddery.com (join via browser)
IRC #debian-gitlab on OFTC network (join via browser)
Installing gitlab on an lxc container to test - See gitlab/lxc
Updating gitlab package to newer versions - See Teams/Ruby/Packaging/newUpstreamRailsApp
Backport/Fasttrack checklist - See gitlab/BackportChecklist
Dependencies Transitions checklist - See gitlab/DependenciesTransitions
Managing Components - See gitlab/ManagingComponents
Plan to move gitlab-common binary to gitlab-shell source package - See ?gitlab/gitlab-common-to-gitlab-shell-plan
Aim to get gitlab back in main by bullseye release by packaging all node dependencies. current status This is now an Outreachy project (from December 2019 to March 2020).
- Get autopkgtest working so we can detect problems when someone updates dependencies without coordinating with us.
Note: this section is about the installation of upstream-provided unofficial packages.
all actions are performed under the root user, in ~ unless otherwise noted.
navigate to https://about.gitlab.com/install/ and copy down the link to the Debian deb package.
as of this writing @ June 5, 2014
- dpkg -i gitlab*
i got errors 1st time around 2nd time around gitlab looked like it set everything and ran well.
To avoid errors, execute /opt/gitlab/embedded/bin/runsvdir-start for one minute, more or less (tested in 7.9.0 and 7.9.1 omnibus versions).
- gitlab-ctl reconfigure
to verify that things are running
- gitlab-ctl status
navigate to your servers IP address or domain name, and login as:
user: root password: 5iveL!fe