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
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
type:reference
---
---
# Environment Variables
# Environment variables
GitLab exposes certain environment variables which can be used to override
GitLab exposes certain environment variables which can be used to override
their defaults values.
their defaults values.
People usually configure GitLab via`/etc/gitlab/gitlab.rb` for Omnibus
People usually configure GitLab with`/etc/gitlab/gitlab.rb` for Omnibus
installations, or `gitlab.yml` for installations from source.
installations, or `gitlab.yml` for installations from source.
Below you will find the supported environment variables which you can use to
You can use the following environment variables to override certain values:
`ENABLE_BOOTSNAP` | string | Enables Bootsnap for speeding up initial Rails boot (`1` to enable)
| `DATABASE_URL` | string | The database URL; is of the form: `postgresql://localhost/blog_development`. |
`GITLAB_CDN_HOST` | string | Sets the base URL for a CDN to serve static assets (e.g. `//mycdnsubdomain.fictional-cdn.com`)
| `ENABLE_BOOTSNAP` | string | Enables Bootsnap for speeding up initial Rails boot (`1` to enable). |
`GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation
| `GITLAB_CDN_HOST` | string | Sets the base URL for a CDN to serve static assets (for example, `//mycdnsubdomain.fictional-cdn.com`). |
`GITLAB_HOST` | string | The full URL of the GitLab server (including `http://` or `https://`)
| `GITLAB_EMAIL_DISPLAY_NAME` | string | The name used in the **From** field in emails sent by GitLab. |
`RAILS_ENV` | string | The Rails environment; can be one of `production`, `development`, `staging` or `test`
| `GITLAB_EMAIL_FROM` | string | The email address used in the **From** field in emails sent by GitLab. |
`DATABASE_URL` | string | The database URL; is of the form: `postgresql://localhost/blog_development`
| `GITLAB_EMAIL_REPLY_TO` | string | The email address used in the **Reply-To** field in emails sent by GitLab. |
`GITLAB_EMAIL_FROM` | string | The e-mail address used in the "From" field in e-mails sent by GitLab
| `GITLAB_EMAIL_SUBJECT_SUFFIX` | string | The email subject suffix used in emails sent by GitLab. |
`GITLAB_EMAIL_DISPLAY_NAME` | string | The name used in the "From" field in e-mails sent by GitLab
| `GITLAB_HOST` | string | The full URL of the GitLab server (including `http://` or `https://`). |
`GITLAB_EMAIL_REPLY_TO` | string | The e-mail address used in the "Reply-To" field in e-mails sent by GitLab
| `GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation. |
`GITLAB_EMAIL_SUBJECT_SUFFIX` | string | The e-mail subject suffix used in e-mails sent by GitLab
| `GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN` | string | Sets the initial registration token used for runners. |
`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](operations/unicorn.md#unicorn-worker-killer). |
`GITLAB_UNICORN_MEMORY_MAX` | integer | The maximum memory threshold (in bytes) for the Unicorn worker killer
| `GITLAB_UNICORN_MEMORY_MIN` | integer | The minimum memory threshold (in bytes) for the [unicorn-worker-killer](operations/unicorn.md#unicorn-worker-killer). |
`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`)
| `UNSTRUCTURED_RAILS_LOG` | string | Enables the unstructured log in addition to JSON logs (defaults to `true`). |
## Complete database variables
## Complete database variables
The recommended way of specifying your database connection information is to set
The recommended method for specifying your database connection information is
the `DATABASE_URL` environment variable. This variable only holds connection
to set the `DATABASE_URL` environment variable. This variable contains
information (`adapter`, `database`, `username`, `password`, `host` and `port`),
connection information (`adapter`, `database`, `username`, `password`, `host`,
but not behavior information (`encoding`, `pool`). If you don't want to use
and `port`), but no behavior information (`encoding` or `pool`). If you don't
`DATABASE_URL` and/or want to set database behavior information, you will have
want to use `DATABASE_URL`, or want to set database behavior information,
to either:
either:
-copy our template file: `cp config/database.yml.env config/database.yml`, or
-Copy the template file, `cp config/database.yml.env config/database.yml`.
-set a value for some `GITLAB_DATABASE_XXX` variables
-Set a value for some `GITLAB_DATABASE_XXX` variables.
The list of `GITLAB_DATABASE_XXX` variables that you can set is:
The list of `GITLAB_DATABASE_XXX` variables that you can set is:
Variable | Default value | Overridden by `DATABASE_URL`?
| Variable | Default value | Overridden by `DATABASE_URL`? |