Environment variables

GitLab exposes certain environment variables which can be used to override their defaults values.

People usually configure GitLab with:

  • /etc/gitlab/gitlab.rb for Linux package installations.
  • gitlab.yml for self-compiled installations.

You can use the following environment variables to override certain values:

Supported environment variables

VariableTypeDescription
DATABASE_URLstringThe database URL; is of the form: postgresql://localhost/blog_development.
ENABLE_BOOTSNAPstringToggles Bootsnap for speeding up initial Rails boot. Enabled by default for non-production environments. Set to 0 to disable.
EXTERNAL_URLstringSpecify the external URL at the time of installation.
EXTERNAL_VALIDATION_SERVICE_TIMEOUTintegerTimeout, in seconds, for an external CI/CD pipeline validation service. Default is 5.
EXTERNAL_VALIDATION_SERVICE_URLstringURL to an external CI/CD pipeline validation service.
EXTERNAL_VALIDATION_SERVICE_TOKENstringThe X-Gitlab-Token for authentication with an external CI/CD pipeline validation service.
GITLAB_CDN_HOSTstringSets the base URL for a CDN to serve static assets (for example, https://mycdnsubdomain.fictional-cdn.com).
GITLAB_EMAIL_DISPLAY_NAMEstringThe name used in the From field in emails sent by GitLab.
GITLAB_EMAIL_FROMstringThe email address used in the From field in emails sent by GitLab.
GITLAB_EMAIL_REPLY_TOstringThe email address used in the Reply-To field in emails sent by GitLab.
GITLAB_EMAIL_SUBJECT_SUFFIXstringThe email subject suffix used in emails sent by GitLab.
GITLAB_HOSTstringThe full URL of the GitLab server (including http:// or https://).
GITLAB_MARKUP_TIMEOUTstringTimeout, in seconds, for rest2html and pod2html commands executed by the gitlab-markup gem. Default is 10.
GITLAB_ROOT_PASSWORDstringSets the password for the root user on installation.
GITLAB_SHARED_RUNNERS_REGISTRATION_TOKENstringSets the initial registration token used for runners.
RAILS_ENVstringThe Rails environment; can be one of production, development, staging, or test.
GITLAB_RAILS_CACHE_DEFAULT_TTL_SECONDSintegerThe default TTL used for entries stored in the Rails-cache. Default is 28800. Introduced in 15.3.
GITLAB_CI_CONFIG_FETCH_TIMEOUT_SECONDSintegerTimeout for resolving remote includes in CI config in seconds. Must be between 0 and 60. Default is 30. Introduced in 15.11.
GITLAB_DISABLE_TOKEN_EXPIRATION_BANNERstringIf set to true, 1, or yes, the token expiration banner is not shown. Default is false.

Adding more variables

We welcome merge requests to make more settings configurable by using variables. Make changes to the config/initializers/1_settings.rb file, and use the naming scheme GITLAB_#{name in 1_settings.rb in upper case}.

Linux package installation configuration

To set environment variables, follow these instructions.

It’s possible to preconfigure the GitLab Docker image by adding the environment variable GITLAB_OMNIBUS_CONFIG to the docker run command. For more information, see Pre-configure Docker container.