Commit ea14429b authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Clean up environment variables doc

[ci skip]
parent 06c0025f
# Environment Variables # Environment Variables
## Introduction GitLab exposes certain environment variables which can be used to override
their defaults values.
Commonly people configure GitLab via the `gitlab.rb` configuration file in the Omnibus package. People usually configure GitLab via `/etc/gitlab/gitlab.rb` for Omnibus
installations, or `gitlab.yml` for installations from source.
But if you prefer to use environment variables we allow that too. Below you will find the supported environment variables which you can use to
override certain values.
## Supported environment variables ## Supported environment variables
Variable | Type | Explanation Variable | Type | Description
-------- | ---- | ----------- -------- | ---- | -----------
`GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation `GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation
`GITLAB_HOST` | url | Hostname of the GitLab server includes http or https `GITLAB_HOST` | string | The full URL of the GitLab server (including `http://` or `https://`)
`RAILS_ENV` | production / development / staging / test | Rails environment `RAILS_ENV` | string | The Rails environment; can be one of `production`, `development`, `staging` or `test`
`DATABASE_URL` | url | For example: postgresql://localhost/blog_development `DATABASE_URL` | string | The database URL; is of the form: `postgresql://localhost/blog_development`
`GITLAB_EMAIL_FROM` | email | Email address used in the "From" field in mails sent by GitLab `GITLAB_EMAIL_FROM` | string | The e-mail address used in the "From" field in e-mails sent by GitLab
`GITLAB_EMAIL_DISPLAY_NAME` | string | Name used in the "From" field in 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` | email | Email address used in the "Reply-To" field in 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_UNICORN_MEMORY_MIN` | integer | The minimum 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 (supported only in Omnibus)
`GITLAB_UNICORN_MEMORY_MAX` | integer | The maximum 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 (supported only in Omnibus)
## Complete database variables ## Complete database variables
The recommended way of specifying your database connection information is to set The recommended way of specifying your database connection information is to set
the `DATABASE_URL` environment variable. This variable only holds connection the `DATABASE_URL` environment variable. This variable only holds connection
information (adapter, database, username, password, host and port), but not information (`adapter`, `database`, `username`, `password`, `host` and `port`),
behavior information (encoding, pool). If you don't want to use `DATABASE_URL` but not behavior information (`encoding`, `pool`). If you don't want to use
and/or want to set database behavior information, you will have to: `DATABASE_URL` and/or want to set database behavior information, you will have
to either:
- copy our template `config/database.yml` file: `cp config/database.yml.env config/database.yml` - copy our template file: `cp config/database.yml.env config/database.yml`, or
- 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 as follow: 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` (for MySQL use `mysql2`) | Yes
`GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | Yes `GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | Yes
`GITLAB_DATABASE_USERNAME` | `root` | Yes `GITLAB_DATABASE_USERNAME` | `root` | Yes
`GITLAB_DATABASE_PASSWORD` | None | Yes `GITLAB_DATABASE_PASSWORD` | None | Yes
...@@ -47,10 +51,11 @@ Variable | Default value | Overridden by `DATABASE_URL`? ...@@ -47,10 +51,11 @@ Variable | Default value | Overridden by `DATABASE_URL`?
## 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 via variables.
Please make changes in the `config/initializers/1_settings.rb` file. Please make changes in the `config/initializers/1_settings.rb` file and stick
Please stick to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`. to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`.
## Omnibus configuration ## Omnibus configuration
It's possible to preconfigure the GitLab image by adding the environment variable: `GITLAB_OMNIBUS_CONFIG` to docker run command. 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 the ['preconfigure-docker-container' section in the Omnibus documentation](http://doc.gitlab.com/omnibus/docker/#preconfigure-docker-container). For more information see the ['preconfigure-docker-container' section in the Omnibus documentation](http://doc.gitlab.com/omnibus/docker/#preconfigure-docker-container).
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