This is something of a pain in the arse, there are several main points to
remember.
These points apply to the version 8.5.8+dfsg-5
, from Ubuntu universe
.
Note that the Debian-derived gitlab
package has been REMOVED from Debian
bionic.
Install the packages from universe
Work around bug 1574349
You'll come across a bug: https://bugs.launchpad.net/ubuntu/+source/gitlab/+bug/1574349
The tell-tale sign of this bug is a message about a gem named
devise-two-factor
. As far as I can tell, there's no way to work around this
and stay within the package system.
You have to work around this, but first:
Install bundler build dependencies
apt install cmake libmysqlclient-dev automake autoconf autogen libicu-dev pkg-config
Run bundler
Yes, you're going to have to install gems outside of the package system.
# cd /usr/share/gitlab
# bundler
And yes, this is a bad situation.
Unmask all gitlab services
[Masking] one or more units... [links] these unit files to /dev/null, making it impossible to start them.
For some reason the apt installation process installs all the gitlab services as masked. No idea why but you'll need to unmask them.
systemctl unmask gitlab-unicorn.service
systemctl unmask gitlab-workhorse.service
systemctl unmask gitlab-sidekiq.service
systemctl unmask gitlab-mailroom.service
Interactive authentication required
You're going to face this error, too. You need to create an override so that
gitlab gets started with the correct user. You can do that with systemctl edit
gitlab
, this will create a local override.
Insert this in the text buffer:
[Service]
User=gitlab
Save and quit and now you need to reload & restart.
systemctl daemon-reload
systemctl start gitlab
Purging debconf answers
Since gitlab is sometimes an interactively configured package, sometimes stale information can get stored in the debconf database, which will hinder you. To clear this out and reset them, do the following:
debconf-show gitlab
echo PURGE | debconf-communicate gitlab
This is the first time I've had to learn about this in a good 10 years of using and developing Debian-derived distributions. That's how successful an abstraction debconf is.
Update 2018-05-04: Also pin ruby-mail
package to artful version 2.6.4+dfsg1-1