Environment variables
DETAILS: Tier: Free, Premium, Ultimate Offering: Self-managed
GitLab exposes certain environment variables which can be used to override their defaults values.
People usually configure GitLab with:
-
/etc/gitlab/gitlab.rbfor Linux package installations. -
gitlab.ymlfor self-compiled installations.
You can use the following environment variables to override certain values:
Supported environment variables
| Variable | Type | Description |
|---|---|---|
DATABASE_URL |
string | The database URL; is of the form: postgresql://localhost/blog_development. |
ENABLE_BOOTSNAP |
string | Toggles Bootsnap for speeding up initial Rails boot. Enabled by default for non-production environments. Set to 0 to disable. |
EXTERNAL_URL |
string | Specify the external URL at the time of installation. |
EXTERNAL_VALIDATION_SERVICE_TIMEOUT |
integer | Timeout, in seconds, for an external CI/CD pipeline validation service. Default is 5. |
EXTERNAL_VALIDATION_SERVICE_URL |
string | URL to an external CI/CD pipeline validation service. |
EXTERNAL_VALIDATION_SERVICE_TOKEN |
string | The X-Gitlab-Token for authentication with an external CI/CD pipeline validation service. |
GITLAB_CDN_HOST |
string | Sets the base URL for a CDN to serve static assets (for example, https://mycdnsubdomain.fictional-cdn.com). |
GITLAB_EMAIL_DISPLAY_NAME |
string | The name used in the From field in emails sent by GitLab. |
GITLAB_EMAIL_FROM |
string | The email address used in the From field in emails sent by GitLab. |
GITLAB_EMAIL_REPLY_TO |
string | The email address used in the Reply-To field in emails sent by GitLab. |
GITLAB_EMAIL_SUBJECT_SUFFIX |
string | The email subject suffix used in emails sent by GitLab. |
GITLAB_HOST |
string | The full URL of the GitLab server (including http:// or https://). |
GITLAB_MARKUP_TIMEOUT |
string | Timeout, in seconds, for rest2html and pod2html commands executed by the gitlab-markup gem. Default is 10. |
GITLAB_ROOT_PASSWORD |
string | Sets the password for the root user on installation. |
GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN |
string | Sets the initial registration token used for runners. Deprecated in GitLab 16.11. |
RAILS_ENV |
string | The Rails environment; can be one of production, development, staging, or test. |
GITLAB_RAILS_CACHE_DEFAULT_TTL_SECONDS |
integer | The default TTL used for entries stored in the Rails-cache. Default is 28800. Introduced in 15.3. |
GITLAB_CI_CONFIG_FETCH_TIMEOUT_SECONDS |
integer | Timeout 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_BANNER |
string | If set to true, 1, or yes, the token expiration banner is not shown. Default is false. |
GITLAB_LFS_MAX_OID_TO_FETCH |
integer | Sets the maximum number of LFS objects to link. Default is 100,000. |
SIDEKIQ_SEMI_RELIABLE_FETCH_TIMEOUT |
integer | Sets the timeout for Sidekiq semi-reliable fetch. Default is 5. Before GitLab 16.7, default was 3. If you experience high Redis CPU consumption on GitLab 16.6 and earlier, or if you have customized this variable, you should update this variable to 5. |
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.