2020-05-29 14:08:26 -04:00
---
stage: Verify
group: Continuous Integration
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/#designated-technical-writers
type: reference
---
2015-12-27 11:36:50 -05:00
# Environment Variables
2016-02-03 06:56:23 -05:00
GitLab exposes certain environment variables which can be used to override
their defaults values.
2015-12-27 11:36:50 -05:00
2016-02-03 06:56:23 -05:00
People usually configure GitLab via `/etc/gitlab/gitlab.rb` for Omnibus
installations, or `gitlab.yml` for installations from source.
2015-12-27 11:36:50 -05:00
2016-02-03 06:56:23 -05:00
Below you will find the supported environment variables which you can use to
override certain values.
2015-12-27 11:36:50 -05:00
## Supported environment variables
2016-02-03 06:56:23 -05:00
Variable | Type | Description
2015-12-30 09:45:24 -05:00
-------- | ---- | -----------
2019-07-19 16:21:07 -04:00
`ENABLE_BOOTSNAP` | string | Enables Bootsnap for speeding up initial Rails boot (`1` to enable)
2018-02-04 07:39:18 -05:00
`GITLAB_CDN_HOST` | string | Sets the base URL for a CDN to serve static assets (e.g. `//mycdnsubdomain.fictional-cdn.com` )
2016-10-02 18:30:44 -04:00
`GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation
`GITLAB_HOST` | string | The full URL of the GitLab server (including `http://` or `https://` )
`RAILS_ENV` | string | The Rails environment; can be one of `production` , `development` , `staging` or `test`
`DATABASE_URL` | string | The database URL; is of the form: `postgresql://localhost/blog_development`
`GITLAB_EMAIL_FROM` | string | The e-mail address used in the "From" field in e-mails sent by GitLab
`GITLAB_EMAIL_DISPLAY_NAME` | string | The name used in the "From" field in e-mails sent by GitLab
`GITLAB_EMAIL_REPLY_TO` | string | The e-mail address used in the "Reply-To" field in e-mails sent by GitLab
`GITLAB_EMAIL_SUBJECT_SUFFIX` | string | The e-mail subject suffix used in e-mails sent by GitLab
`GITLAB_UNICORN_MEMORY_MIN` | integer | The minimum memory threshold (in bytes) for the Unicorn worker killer
`GITLAB_UNICORN_MEMORY_MAX` | integer | The maximum memory threshold (in bytes) for the Unicorn worker killer
`GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN` | string | Sets the initial registration token used for GitLab Runners
2015-12-27 11:36:50 -05:00
## Complete database variables
2016-02-01 13:10:25 -05:00
The recommended way of specifying your database connection information is to set
the `DATABASE_URL` environment variable. This variable only holds connection
2016-02-03 06:56:23 -05:00
information (`adapter`, `database` , `username` , `password` , `host` and `port` ),
but not behavior information (`encoding`, `pool` ). If you don't want to use
`DATABASE_URL` and/or want to set database behavior information, you will have
to either:
2015-12-27 11:36:50 -05:00
2016-02-03 06:56:23 -05:00
- copy our template file: `cp config/database.yml.env config/database.yml` , or
2016-02-01 13:10:25 -05:00
- set a value for some `GITLAB_DATABASE_XXX` variables
2015-12-27 11:36:50 -05:00
2016-02-03 06:56:23 -05:00
The list of `GITLAB_DATABASE_XXX` variables that you can set is:
2015-12-27 11:36:50 -05:00
2016-02-01 13:10:25 -05:00
Variable | Default value | Overridden by `DATABASE_URL` ?
2016-02-03 06:56:23 -05:00
-------- | ------------- | -----------------------------
2019-06-19 09:10:07 -04:00
`GITLAB_DATABASE_ADAPTER` | `postgresql` | Yes
2016-02-03 06:56:23 -05:00
`GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | Yes
`GITLAB_DATABASE_USERNAME` | `root` | Yes
`GITLAB_DATABASE_PASSWORD` | None | Yes
`GITLAB_DATABASE_HOST` | `localhost` | Yes
`GITLAB_DATABASE_PORT` | `5432` | Yes
`GITLAB_DATABASE_ENCODING` | `unicode` | No
`GITLAB_DATABASE_POOL` | `10` | No
2015-12-27 11:36:50 -05:00
2015-12-29 06:58:32 -05:00
## Adding more variables
2015-12-27 11:36:50 -05:00
We welcome merge requests to make more settings configurable via variables.
2016-02-03 06:56:23 -05:00
Please make changes in the `config/initializers/1_settings.rb` file and stick
to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}` .
2015-12-29 06:58:32 -05:00
## Omnibus configuration
2017-06-15 15:59:57 -04:00
To set environment variables, follow [these
instructions](https://docs.gitlab.com/omnibus/settings/environment-variables.html).
2020-05-27 05:08:30 -04:00
It's possible to preconfigure the GitLab Docker image by adding the environment
2016-02-03 06:56:23 -05:00
variable `GITLAB_OMNIBUS_CONFIG` to the `docker run` command.
2020-05-27 05:08:30 -04:00
For more information see the [Pre-configure Docker container ](https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container )
section in the Omnibus documentation.