Commit 06c0025f authored by Rémy Coutable's avatar Rémy Coutable

Improving the "Environment variables" administration doc

parent da8e0f86
<%= ENV['RAILS_ENV'] %>: <%= ENV['RAILS_ENV'] %>:
## Connection information
# Please be aware that the DATABASE_URL environment variable will take
# precedence over the following 6 parameters. For more information, see
# doc/administration/environment_variables.md
adapter: <%= ENV['GITLAB_DATABASE_ADAPTER'] || 'postgresql' %> adapter: <%= ENV['GITLAB_DATABASE_ADAPTER'] || 'postgresql' %>
encoding: <%= ENV['GITLAB_DATABASE_ENCODING'] || 'unicode' %>
database: <%= ENV['GITLAB_DATABASE_DATABASE'] || "gitlab_#{ENV['RAILS_ENV']}" %> database: <%= ENV['GITLAB_DATABASE_DATABASE'] || "gitlab_#{ENV['RAILS_ENV']}" %>
pool: <%= ENV['GITLAB_DATABASE_POOL'] || '10' %>
username: <%= ENV['GITLAB_DATABASE_USERNAME'] || 'root' %> username: <%= ENV['GITLAB_DATABASE_USERNAME'] || 'root' %>
password: <%= ENV['GITLAB_DATABASE_PASSWORD'] || '' %> password: <%= ENV['GITLAB_DATABASE_PASSWORD'] || '' %>
host: <%= ENV['GITLAB_DATABASE_HOST'] || 'localhost' %> host: <%= ENV['GITLAB_DATABASE_HOST'] || 'localhost' %>
port: <%= ENV['GITLAB_DATABASE_PORT'] || '5432' %> port: <%= ENV['GITLAB_DATABASE_PORT'] || '5432' %>
## Behavior information
# The following parameters will be used even if you're using the DATABASE_URL
# environment variable.
encoding: <%= ENV['GITLAB_DATABASE_ENCODING'] || 'unicode' %>
pool: <%= ENV['GITLAB_DATABASE_POOL'] || '10' %>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
## Introduction ## Introduction
Commonly people configure GitLab via the gitlab.rb configuration file in the Omnibus package. Commonly people configure GitLab via the `gitlab.rb` configuration file in the Omnibus package.
But if you prefer to use environment variables we allow that too. But if you prefer to use environment variables we allow that too.
...@@ -10,45 +10,45 @@ But if you prefer to use environment variables we allow that too. ...@@ -10,45 +10,45 @@ But if you prefer to use environment variables we allow that too.
Variable | Type | Explanation Variable | Type | Explanation
-------- | ---- | ----------- -------- | ---- | -----------
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` | url | Hostname of the GitLab server includes http or https
RAILS_ENV | production / development / staging / test | Rails environment `RAILS_ENV` | production / development / staging / test | Rails environment
DATABASE_URL | url | For example: postgresql://localhost/blog_development?pool=5 `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_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_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_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_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_UNICORN_MEMORY_MAX` | integer | The maximum memory threshold (in bytes) for the Unicorn worker killer
## Complete database variables ## Complete database variables
As explained in the [Heroku documentation](https://devcenter.heroku.com/articles/rails-database-connection-behavior) the DATABASE_URL doesn't let you set: 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:
- adapter - copy our template `config/database.yml` file: `cp config/database.yml.env config/database.yml`
- database - set a value for some `GITLAB_DATABASE_XXX` variables
- username
- password
- host
- port
To do so please `cp config/database.yml.env config/database.yml` and use the following variables: The list of `GITLAB_DATABASE_XXX` variables that you can set is as follow:
Variable | Default Variable | Default value | Overridden by `DATABASE_URL`?
--- | --- --- | --- | ---
GITLAB_DATABASE_ADAPTER | postgresql `GITLAB_DATABASE_ADAPTER` | `postgresql` | Yes
GITLAB_DATABASE_ENCODING | unicode `GITLAB_DATABASE_DATABASE` | `gitlab_#{ENV['RAILS_ENV']` | Yes
GITLAB_DATABASE_DATABASE | gitlab_#{ENV['RAILS_ENV'] `GITLAB_DATABASE_USERNAME` | `root` | Yes
GITLAB_DATABASE_POOL | 10 `GITLAB_DATABASE_PASSWORD` | None | Yes
GITLAB_DATABASE_USERNAME | root `GITLAB_DATABASE_HOST` | `localhost` | Yes
GITLAB_DATABASE_PASSWORD | `GITLAB_DATABASE_PORT` | `5432` | Yes
GITLAB_DATABASE_HOST | localhost `GITLAB_DATABASE_ENCODING` | `unicode` | No
GITLAB_DATABASE_PORT | 5432 `GITLAB_DATABASE_POOL` | `10` | No
## 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 file config/initializers/1_settings.rb Please make changes in the `config/initializers/1_settings.rb` file.
Please stick to the naming scheme "GITLAB_#{name 1_settings.rb in upper case}". Please stick to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`.
## Omnibus configuration ## Omnibus configuration
......
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