gitlab.yml.example 11.1 KB
Newer Older
1
# # # # # # # # # # # # # # # # # #
2
# GitLab application config file  #
3
# # # # # # # # # # # # # # # # # #
4
5
#
# How to use:
Ben Bodenmiller's avatar
Ben Bodenmiller committed
6
7
8
9
10
# 1. Copy file as gitlab.yml
# 2. Update gitlab -> host with your fully qualified domain name
# 3. Update gitlab -> email_from
# 4. If you installed Git from source, change git -> bin_path to /usr/local/bin/git
# 5. Review this configuration file for other settings you may want to adjust
11

12
13
14
15
16
17
18
production: &base
  #
  # 1. GitLab app settings
  # ==========================

  ## GitLab settings
  gitlab:
19
    ## Web server settings (note: host is the FQDN, do not include http://)
20
    host: localhost
Ben Bodenmiller's avatar
Ben Bodenmiller committed
21
22
    port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
    https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
23

24
25
26
27
28
    # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
    # (you'd obviously need to replace ssh.host_example.com with your own host).
    # Otherwise, ssh host will be set to the `host:` value above
    # ssh_host: ssh.host_example.com

29
30
    # WARNING: See config/application.rb under "Relative url support" for the list of
    # other files that need to be changed for relative url support
31
32
33
34
35
36
37
    # relative_url_root: /gitlab

    # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
    # user: git

    ## Email settings
    # Email address used in the "From" field in mails sent by GitLab
38
    email_from: example@example.com
39

40
41
    # Email server smtp settings are in [a separate file](initializers/smtp_settings.rb.sample).

42
    ## User settings
43
    default_projects_limit: 10
44
    # default_can_create_group: false  # default: true
45
    # username_changing_enabled: false # default: true - User can change her username/namespace
Izaak Alpert's avatar
Izaak Alpert committed
46
47
48
49
50
51
    ## Default theme
    ##   BASIC  = 1
    ##   MARS   = 2
    ##   MODERN = 3
    ##   GRAY   = 4
    ##   COLOR  = 5
Izaak Alpert's avatar
Izaak Alpert committed
52
    # default_theme: 2 # default: 2
Izaak Alpert's avatar
Izaak Alpert committed
53

54
55
56
57
58
59
60
61
62
63
    ## Users can create accounts
    # This also allows normal users to sign up for accounts themselves
    # default: false - By default GitLab administrators must create all new accounts
    # signup_enabled: true

    ## Standard login settings
    # The standard login can be disabled to force login via LDAP
    # default: true - If set to false the standard login form won't be shown on the sign-in page
    # signin_enabled: false

64
65
    # Restrict setting visibility levels for non-admin users.
    # The default is to allow all levels.
66
    # restricted_visibility_levels: [ "public" ]
67

68
    ## Automatic issue closing
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
69
    # If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
Julien Kirch's avatar
Julien Kirch committed
70
    # This happens when the commit is pushed or merged into the default branch of a project.
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
71
    # When not specified the default issue_closing_pattern as specified below will be used.
72
    # Tip: you can test your closing pattern at http://rubular.com
73
    # issue_closing_pattern: '([Cc]lose[sd]|[Ff]ixe[sd]) #(\d+)'
74

75
76
77
78
79
    ## Default project features settings
    default_projects_features:
      issues: true
      merge_requests: true
      wiki: true
80
      snippets: false
81
      visibility_level: "private"  # can be "private" | "internal" | "public"
82

83
84
85
86
    ## Webhook settings
    # Number of seconds to wait for HTTP response after sending webhook HTTP POST request (default: 10)
    # webhook_timeout: 10

87
88
    ## Repository downloads directory
    # When a user clicks e.g. 'Download zip' on a project, a temporary zip file is created in the following directory.
89
    # The default is 'tmp/repositories' relative to the root of the Rails app.
90
91
    # repository_downloads_path: tmp/repositories

92
  ## External issues trackers
93
  issues_tracker:
94
    # redmine:
95
    #   title: "Redmine"
96
97
98
99
100
    #   ## If not nil, link 'Issues' on project page will be replaced with this
    #   ## Use placeholders:
    #   ##  :project_id        - GitLab project identifier
    #   ##  :issues_tracker_id - Project Name or Id in external issue tracker
    #   project_url: "http://redmine.sample/projects/:issues_tracker_id"
101
    #
102
103
104
105
106
107
    #   ## If not nil, links from /#\d/ entities from commit messages will replaced with this
    #   ## Use placeholders:
    #   ##  :project_id        - GitLab project identifier
    #   ##  :issues_tracker_id - Project Name or Id in external issue tracker
    #   ##  :id                - Issue id (from commit messages)
    #   issues_url: "http://redmine.sample/issues/:id"
108
    #
PhilZen <3's avatar
PhilZen <3 committed
109
    #   ## If not nil, links to creating new issues will be replaced with this
110
111
112
113
    #   ## Use placeholders:
    #   ##  :project_id        - GitLab project identifier
    #   ##  :issues_tracker_id - Project Name or Id in external issue tracker
    #   new_issue_url: "http://redmine.sample/projects/:issues_tracker_id/issues/new"
114
    #
115
    # jira:
116
    #   title: "Atlassian Jira"
117
118
119
    #   project_url: "http://jira.sample/issues/?jql=project=:issues_tracker_id"
    #   issues_url: "http://jira.sample/browse/:id"
    #   new_issue_url: "http://jira.sample/secure/CreateIssue.jspa"
120

121
122
  ## Gravatar
  gravatar:
123
    enabled: true                 # Use user avatar image from Gravatar.com (default: true)
124
    # gravatar urls: possible placeholders: %{hash} %{size} %{email}
125
126
    # plain_url: "http://..."     # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
    # ssl_url:   "https://..."    # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
127
128
129
130
131
132

  #
  # 2. Auth settings
  # ==========================

  ## LDAP settings
133
134
  # You can inspect a sample of the LDAP users with login access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
135
136
137
138
139
  ldap:
    enabled: false
    host: '_your_ldap_server'
    port: 636
    uid: 'sAMAccountName'
140
    method: 'ssl' # "tls" or "ssl" or "plain"
141
142
    bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
    password: '_the_password_of_the_bind_user'
143
144
145
146
147
148

    # This setting specifies if LDAP server is Active Directory LDAP server.
    # For non AD servers it skips the AD specific queries.
    # If your LDAP server is not AD, set this to false.
    active_directory: true

149
    # If allow_username_or_email_login is enabled, GitLab will ignore everything
150
    # after the first '@' in the LDAP username submitted by the user on login.
151
    #
152
153
154
    # Example:
    # - the user enters 'jane.doe@example.com' and 'p@ssw0rd' as LDAP credentials;
    # - GitLab queries the LDAP server with 'jane.doe' and 'p@ssw0rd'.
155
    #
156
157
    # If you are using "uid: 'userPrincipalName'" on ActiveDirectory you need to
    # disable this setting, because the userPrincipalName contains an '@'.
158
    allow_username_or_email_login: false
159

160
161
162
163
164
165
166
167
    # Base where we can search for users
    #
    #   Ex. ou=People,dc=gitlab,dc=example
    #
    base: ''

    # Filter LDAP users
    #
168
    #   Format: RFC 4515 http://tools.ietf.org/search/rfc4515
169
170
    #   Ex. (employeeType=developer)
    #
171
172
    #   Note: GitLab does not support omniauth-ldap's custom filter syntax.
    #
173
174
175
    user_filter: ''


176
  ## OmniAuth settings
177
  omniauth:
178
    # Allow login via Twitter, Google, etc. using OmniAuth providers
179
180
181
    enabled: false

    # CAUTION!
182
    # This allows users to login without having a user account first (default: false).
183
184
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: false
185
    # Locks down those users until they have been cleared by the admin (default: true).
186
187
188
    block_auto_created_users: true

    ## Auth providers
189
190
    # Uncomment the following lines and fill in the data of the auth provider you want to use
    # If your favorite auth provider is not listed you can use others:
Drew Blessing's avatar
Drew Blessing committed
191
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations
192
193
    # The 'app_id' and 'app_secret' parameters are always passed as the first two
    # arguments, followed by optional 'args' which can be either a hash or an array.
dosire's avatar
dosire committed
194
    # Documentation for this is available at http://doc.gitlab.com/ce/integration/omniauth.html
195
196
197
198
199
200
201
    providers:
      # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET',
      #     args: { access_type: 'offline', approval_prompt: '' } }
      # - { name: 'twitter', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET'}
      # - { name: 'github', app_id: 'YOUR APP ID',
202
203
      #     app_secret: 'YOUR APP SECRET',
      #     args: { scope: 'user:email' } }
204
205
206
207
208
209
210
211
212
213
214



  #
  # 3. Advanced settings
  # ==========================

  # GitLab Satellites
  satellites:
    # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
    path: /home/git/gitlab-satellites/
215
    timeout: 30
216
217
218
219
220

  ## Backup settings
  backup:
    path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
    # keep_time: 604800   # default: 0 (forever) (in seconds)
221
222
223
224
    # upload:
    #   # Fog storage connection settings, see http://fog.io/storage/ .
    #   connection:
    #     provider: AWS
225
    #     region: eu-west-1
226
227
228
229
    #     aws_access_key_id: AKIAKIAKI
    #     aws_secret_access_key: 'secret123'
    #   # The remote 'directory' to store your backups. For S3, this would be the bucket name.
    #   remote_directory: 'my.s3.bucket'
230
231
232

  ## GitLab Shell settings
  gitlab_shell:
233
234
    path: /home/git/gitlab-shell/

235
236
237
238
239
240
241
242
    # REPOS_PATH MUST NOT BE A SYMLINK!!!
    repos_path: /home/git/repositories/
    hooks_path: /home/git/gitlab-shell/hooks/

    # Git over HTTP
    upload_pack: true
    receive_pack: true

243
    # If you use non-standard ssh port you need to specify it
244
245
246
    # ssh_port: 22

  ## Git settings
Riyad Preukschas's avatar
Riyad Preukschas committed
247
  # CAUTION!
248
249
250
  # Use the default values unless you really know what you are doing
  git:
    bin_path: /usr/bin/git
dosire's avatar
dosire committed
251
252
253
    # The next value is the maximum memory size grit can use
    # Given in number of bytes per git object (e.g. a commit)
    # This value can be increased if you have very large commits
254
    max_size: 20971520 # 20.megabytes
255
    # Git timeout to read a commit, in seconds
256
257
    timeout: 10

258
259
260
261
  #
  # 4. Extra customization
  # ==========================

262
  extra:
263
264
265
    ## Google analytics. Uncomment if you want it
    # google_analytics_id: '_your_tracking_id'

Sebastian Winkler's avatar
Sebastian Winkler committed
266
267
268
269
    ## Piwik analytics.
    # piwik_url: '_your_piwik_url'
    # piwik_site_id: '_your_piwik_site_id'

270
    ## Text under sign-in page (Markdown enabled)
271
    # sign_in_text: |
272
273
274
    #   ![Company Logo](http://www.companydomain.com/logo.png)
    #   [Learn more about CompanyName](http://www.companydomain.com/)

275
development:
276
  <<: *base
277
278

test:
279
  <<: *base
280
281
282
283
284
  gravatar:
    enabled: true
  gitlab:
    host: localhost
    port: 80
285
286

    # When you run tests we clone and setup gitlab-shell
287
    # In order to setup it correctly you need to specify
288
    # your system username you use to run GitLab
289
    # user: YOUR_USERNAME
290
291
292
293
294
295
  satellites:
    path: tmp/tests/gitlab-satellites/
  gitlab_shell:
    path: tmp/tests/gitlab-shell/
    repos_path: tmp/tests/repositories/
    hooks_path: tmp/tests/gitlab-shell/hooks/
296
297
  issues_tracker:
    redmine:
298
      title: "Redmine"
299
      project_url: "http://redmine/projects/:issues_tracker_id"
300
      issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
301
      new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
302
303

staging:
304
  <<: *base