2020-06-23 00:09:42 +05:30
---
2021-01-03 14:25:43 +05:30
stage: Enablement
group: Distribution
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-06-23 00:09:42 +05:30
type: reference
---
2021-09-04 01:27:46 +05:30
# Environment variables **(FREE SELF)**
2016-01-14 18:37:52 +05:30
2016-04-02 18:10:28 +05:30
GitLab exposes certain environment variables which can be used to override
their defaults values.
2016-01-14 18:37:52 +05:30
2021-01-03 14:25:43 +05:30
People usually configure GitLab with `/etc/gitlab/gitlab.rb` for Omnibus
2016-04-02 18:10:28 +05:30
installations, or `gitlab.yml` for installations from source.
2016-01-14 18:37:52 +05:30
2021-01-03 14:25:43 +05:30
You can use the following environment variables to override certain values:
2016-01-14 18:37:52 +05:30
## Supported environment variables
2021-01-03 14:25:43 +05:30
| Variable | Type | Description |
|--------------------------------------------|---------|---------------------------------------------------------------------------------------------------------|
| `DATABASE_URL` | string | The database URL; is of the form: `postgresql://localhost/blog_development` . |
2021-12-11 22:18:48 +05:30
| `ENABLE_BOOTSNAP` | string | Toggles [Bootsnap ](https://github.com/Shopify/bootsnap ) for speeding up initial Rails boot. Enabled by default for non-production environments. Set to `0` to disable. |
2021-11-18 22:05:49 +05:30
| `EXTERNAL_URL` | string | Specify the external URL at the [time of installation ](https://docs.gitlab.com/omnibus/settings/configuration.html#specifying-the-external-url-at-the-time-of-installation ). |
2021-04-29 21:17:54 +05:30
| `EXTERNAL_VALIDATION_SERVICE_TIMEOUT` | integer | Timeout, in seconds, for an [external CI/CD pipeline validation service ](external_pipeline_validation.md ). Default is `5` . |
| `EXTERNAL_VALIDATION_SERVICE_URL` | string | URL to an [external CI/CD pipeline validation service ](external_pipeline_validation.md ). |
| `EXTERNAL_VALIDATION_SERVICE_TOKEN` | string | The `X-Gitlab-Token` for authentication with an [external CI/CD pipeline validation service ](external_pipeline_validation.md ). |
2021-01-03 14:25:43 +05:30
| `GITLAB_CDN_HOST` | string | Sets the base URL for a CDN to serve static assets (for example, `//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://` ). |
2022-01-26 12:08:38 +05:30
| `GITLAB_MARKUP_TIMEOUT` | string | Timeout, in seconds, for `rest2html` and `pod2html` commands executed by the [`gitlab-markup` gem ](https://gitlab.com/gitlab-org/gitlab-markup/ ). Default is `10` . |
2021-01-03 14:25:43 +05:30
| `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. |
| `RAILS_ENV` | string | The Rails environment; can be one of `production` , `development` , `staging` , or `test` . |
| `UNSTRUCTURED_RAILS_LOG` | string | Enables the unstructured log in addition to JSON logs (defaults to `true` ). |
2016-01-14 18:37:52 +05:30
## Complete database variables
2021-01-03 14:25:43 +05:30
The recommended method for specifying your database connection information is
to set the `DATABASE_URL` environment variable. This variable contains
connection information (`adapter`, `database` , `username` , `password` , `host` ,
and `port` ), but no behavior information (`encoding` or `pool` ). If you don't
want to use `DATABASE_URL` , or want to set database behavior information,
either:
2016-04-02 18:10:28 +05:30
2021-01-03 14:25:43 +05:30
- Copy the template file, `cp config/database.yml.env config/database.yml` .
- Set a value for some `GITLAB_DATABASE_XXX` variables.
2016-04-02 18:10:28 +05:30
The list of `GITLAB_DATABASE_XXX` variables that you can set is:
2021-01-03 14:25:43 +05:30
| Variable | Default value | Overridden by `DATABASE_URL` ? |
|-----------------------------|--------------------------------|-------------------------------|
| `GITLAB_DATABASE_ADAPTER` | `postgresql` | ** {check-circle}** Yes |
| `GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | ** {check-circle}** Yes |
| `GITLAB_DATABASE_ENCODING` | `unicode` | ** {dotted-circle}** No |
| `GITLAB_DATABASE_HOST` | `localhost` | ** {check-circle}** Yes |
| `GITLAB_DATABASE_PASSWORD` | _none_ | ** {check-circle}** Yes |
| `GITLAB_DATABASE_POOL` | `10` | ** {dotted-circle}** No |
| `GITLAB_DATABASE_PORT` | `5432` | ** {check-circle}** Yes |
| `GITLAB_DATABASE_USERNAME` | `root` | ** {check-circle}** Yes |
2016-01-14 18:37:52 +05:30
## Adding more variables
2021-01-03 14:25:43 +05:30
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}` .
2016-01-14 18:37:52 +05:30
## Omnibus configuration
2021-01-03 14:25:43 +05:30
To set environment variables, follow [these instructions ](https://docs.gitlab.com/omnibus/settings/environment-variables.html ).
2017-09-10 17:25:29 +05:30
2020-06-23 00:09:42 +05:30
It's possible to preconfigure the GitLab Docker image by adding the environment
2016-04-02 18:10:28 +05:30
variable `GITLAB_OMNIBUS_CONFIG` to the `docker run` command.
2021-01-03 14:25:43 +05:30
For more information, see the [Pre-configure Docker container ](https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container )
section of the Omnibus GitLab documentation.