Add support for starting GitLab using Systemd services

Problem to solve

Currently — Gitlab utilises a single init.d script to manage the start, reload and stop operations of GitLab.

This init.d script uses a combination of the init.d script, as well as a number of scripts in the /bin directory of GitLab

My understanding is that this is primarily used for GitLab installations from Source.

User experience goal

Users installing GitLab from source, or using the GitLab Omnibus package are now able to utilise Systemd for managing starting and stopping gitlab, and it's related components.

Proposal

  • Setup Gitlab's individual components as Systemd unit files (ie: gitlab-puma, gitlab-workhorse, gitlab-gitaly)
  • Create a single Systemd target that enables managing all gitlab services as a group

Further details