Changing gitlab.yml and application.yml settings

Tier: Free, Premium, Ultimate Offering: Self-managed

Some GitLab features can be customized through gitlab.yml. If you want to change a gitlab.yml setting for a Linux package installation, you need to do so with /etc/gitlab/gitlab.rb. The translation works as follows. For a complete list of available options, visit the gitlab.rb.template. New installations starting from GitLab 7.6 have all the options of the template listed in /etc/gitlab/gitlab.rb by default.

In gitlab.yml, you find structure like this:

production: &base
  gitlab:
    default_theme: 2

In gitlab.rb, this translates to:

gitlab_rails['gitlab_default_theme'] = 2

What happens here is that we forget about production: &base, and join gitlab: with default_theme: into gitlab_default_theme. Note that not all gitlab.yml settings can be changed via gitlab.rb yet; see the gitlab.yml.erb template. If you think an attribute is missing please create a merge request on the omnibus-gitlab repository.

Run sudo gitlab-ctl reconfigure for changes in gitlab.rb to take effect.

Do not edit the generated file in /var/opt/gitlab/gitlab-rails/etc/gitlab.yml because it is overwritten on the next gitlab-ctl reconfigure run.

Adding a new setting to gitlab.yml

First, consider not adding a setting to gitlab.yml. See Settings under GitLab-specific concerns.

Don’t forget to update the following 5 files when adding a new setting: