summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchilleas Pipinellis <axilleas@axilleas.me>2016-02-03 13:56:23 +0200
committerAchilleas Pipinellis <axilleas@axilleas.me>2016-02-03 13:56:23 +0200
commitea14429b7e1de6d0a61bbdb8e8a198a6b0c28b23 (patch)
tree7a2f6debb7b9898fb81bda8fb1b593bd12709ed3
parent06c0025f16480fce831362317ed6427d51ab3c64 (diff)
downloadgitlab-ce-ea14429b7e1de6d0a61bbdb8e8a198a6b0c28b23.tar.gz
Clean up environment variables doc
[ci skip]
-rw-r--r--doc/administration/environment_variables.md65
1 files changed, 35 insertions, 30 deletions
diff --git a/doc/administration/environment_variables.md b/doc/administration/environment_variables.md
index b0aa420e055..e49b3dc139b 100644
--- a/doc/administration/environment_variables.md
+++ b/doc/administration/environment_variables.md
@@ -1,56 +1,61 @@
# 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
-Variable | Type | Explanation
+Variable | Type | Description
-------- | ---- | -----------
-`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
-`RAILS_ENV` | production / development / staging / test | Rails environment
-`DATABASE_URL` | url | For example: postgresql://localhost/blog_development
-`GITLAB_EMAIL_FROM` | email | Email address used in the "From" field in mails sent by GitLab
-`GITLAB_EMAIL_DISPLAY_NAME` | string | Name used in the "From" field in mails sent by GitLab
-`GITLAB_EMAIL_REPLY_TO` | email | Email address used in the "Reply-To" field in 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_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_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 (supported only in Omnibus)
## Complete database variables
The recommended way of specifying your database connection information is to set
the `DATABASE_URL` environment variable. This variable only holds connection
-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:
+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:
-- 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
-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`?
---- | --- | ---
-`GITLAB_DATABASE_ADAPTER` | `postgresql` | Yes
-`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
+-------- | ------------- | -----------------------------
+`GITLAB_DATABASE_ADAPTER` | `postgresql` (for MySQL use `mysql2`) | Yes
+`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
## Adding more variables
We welcome merge requests to make more settings configurable via variables.
-Please make changes in the `config/initializers/1_settings.rb` file.
-Please stick to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`.
+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}`.
## 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).