Merge branch 'improve-environment-variables-doc' into 'master'
Improving the "Environment variables" administration doc Closes #12829. /cc @sytses See merge request !2669
This commit is contained in:
commit
c1faa836f6
|
@ -1,9 +1,17 @@
|
||||||
<%= 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' %>
|
||||||
|
|
|
@ -1,56 +1,61 @@
|
||||||
# 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?pool=5
|
`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
|
||||||
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 either:
|
||||||
|
|
||||||
- adapter
|
- copy our template file: `cp config/database.yml.env config/database.yml`, or
|
||||||
- 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:
|
||||||
|
|
||||||
Variable | Default
|
Variable | Default value | Overridden by `DATABASE_URL`?
|
||||||
--- | ---
|
-------- | ------------- | -----------------------------
|
||||||
GITLAB_DATABASE_ADAPTER | postgresql
|
`GITLAB_DATABASE_ADAPTER` | `postgresql` (for MySQL use `mysql2`) | 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 and stick
|
||||||
Please stick to the naming scheme "GITLAB_#{name 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).
|
||||||
|
|
Loading…
Reference in New Issue