Commit 655182b8 authored by Craig Norris's avatar Craig Norris Committed by Achilleas Pipinellis

Doc: Update environment variables page with styling

parent f2e77c33
--- ---
stage: Verify stage: Enablement
group: Continuous Integration group: Distribution
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:
override certain values.
## Supported environment variables ## Supported environment variables
Variable | Type | Description | Variable | Type | Description |
-------- | ---- | ----------- |--------------------------------------------|---------|---------------------------------------------------------------------------------------------------------|
`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`? |
-------- | ------------- | ----------------------------- |-----------------------------|--------------------------------|-------------------------------|
`GITLAB_DATABASE_ADAPTER` | `postgresql` | Yes | `GITLAB_DATABASE_ADAPTER` | `postgresql` | **{check-circle}** Yes |
`GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | Yes | `GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | **{check-circle}** Yes |
`GITLAB_DATABASE_USERNAME` | `root` | Yes | `GITLAB_DATABASE_ENCODING` | `unicode` | **{dotted-circle}** No |
`GITLAB_DATABASE_PASSWORD` | None | Yes | `GITLAB_DATABASE_HOST` | `localhost` | **{check-circle}** Yes |
`GITLAB_DATABASE_HOST` | `localhost` | Yes | `GITLAB_DATABASE_PASSWORD` | _none_ | **{check-circle}** Yes |
`GITLAB_DATABASE_PORT` | `5432` | Yes | `GITLAB_DATABASE_POOL` | `10` | **{dotted-circle}** No |
`GITLAB_DATABASE_ENCODING` | `unicode` | No | `GITLAB_DATABASE_PORT` | `5432` | **{check-circle}** Yes |
`GITLAB_DATABASE_POOL` | `10` | No | `GITLAB_DATABASE_USERNAME` | `root` | **{check-circle}** Yes |
## Adding more variables ## Adding more variables
We welcome merge requests to make more settings configurable via variables. We welcome merge requests to make more settings configurable by using variables.
Please make changes in the `config/initializers/1_settings.rb` file and stick Make changes to the `config/initializers/1_settings.rb` file, and use the
to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`. naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`.
## Omnibus configuration ## Omnibus configuration
To set environment variables, follow [these To set environment variables, follow [these instructions](https://docs.gitlab.com/omnibus/settings/environment-variables.html).
instructions](https://docs.gitlab.com/omnibus/settings/environment-variables.html).
It's possible to preconfigure the GitLab Docker image by adding the environment It's possible to preconfigure the GitLab Docker image by adding the environment
variable `GITLAB_OMNIBUS_CONFIG` to the `docker run` command. variable `GITLAB_OMNIBUS_CONFIG` to the `docker run` command.
For more information see the [Pre-configure Docker container](https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container) For more information, see the [Pre-configure Docker container](https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container)
section in the Omnibus documentation. section of the Omnibus GitLab documentation.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment