gitlab.yml.example 14.2 KB
Newer Older
1
# # # # # # # # # # # # # # # # # #
2
# GitLab application config file  #
3
# # # # # # # # # # # # # # # # # #
4
#
5 6 7 8 9
###########################  NOTE  #####################################
# This file should not receive new settings. All configuration options #
# are being moved to ApplicationSetting model!                         #
########################################################################
#
10
# How to use:
B
Ben Bodenmiller 已提交
11 12
# 1. Copy file as gitlab.yml
# 2. Update gitlab -> host with your fully qualified domain name
13
# 3. Update outgoing_emails -> from
B
Ben Bodenmiller 已提交
14
# 4. If you installed Git from source, change git -> bin_path to /usr/local/bin/git
S
Stan Hu 已提交
15 16 17
#    IMPORTANT: If Git was installed in a different location use that instead.
#    You can check with `which git`. If a wrong path of Git is specified, it will
#     result in various issues such as failures of GitLab CI builds.
B
Ben Bodenmiller 已提交
18
# 5. Review this configuration file for other settings you may want to adjust
19

20 21 22 23 24 25 26
production: &base
  #
  # 1. GitLab app settings
  # ==========================

  ## GitLab settings
  gitlab:
27
    ## Web server settings (note: host is the FQDN, do not include http://)
28
    host: localhost
B
Ben Bodenmiller 已提交
29 30
    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
31

32 33 34 35 36
    # 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

37 38
    # WARNING: See config/application.rb under "Relative url support" for the list of
    # other files that need to be changed for relative url support
39 40 41 42 43
    # relative_url_root: /gitlab

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

44 45
    ## Date & Time settings
    # Uncomment and customize if you want to change the default time zone of GitLab application.
46
    # To see all available zones, run `bundle exec rake time:zones:all RAILS_ENV=production`
47 48
    # time_zone: 'UTC'

49
    # default_can_create_group: false  # default: true
50
    # username_changing_enabled: false # default: true - User can change her username/namespace
I
Izaak Alpert 已提交
51 52 53 54 55 56
    ## Default theme
    ##   BASIC  = 1
    ##   MARS   = 2
    ##   MODERN = 3
    ##   GRAY   = 4
    ##   COLOR  = 5
I
Izaak Alpert 已提交
57
    # default_theme: 2 # default: 2
I
Izaak Alpert 已提交
58

59
    ## Automatic issue closing
S
Sytse Sijbrandij 已提交
60
    # If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
J
Julien Kirch 已提交
61
    # This happens when the commit is pushed or merged into the default branch of a project.
S
Sytse Sijbrandij 已提交
62
    # When not specified the default issue_closing_pattern as specified below will be used.
A
Achilleas Pipinellis 已提交
63
    # Tip: you can test your closing pattern at http://rubular.com.
64
    # issue_closing_pattern: '((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?) +(?:(?:issues? +)?#\d+(?:(?:, *| +and +)?))+)'
65

66 67 68 69 70
    ## Default project features settings
    default_projects_features:
      issues: true
      merge_requests: true
      wiki: true
71
      snippets: false
72

73 74 75 76
    ## Webhook settings
    # Number of seconds to wait for HTTP response after sending webhook HTTP POST request (default: 10)
    # webhook_timeout: 10

77 78
    ## Repository downloads directory
    # When a user clicks e.g. 'Download zip' on a project, a temporary zip file is created in the following directory.
79
    # The default is 'tmp/repositories' relative to the root of the Rails app.
80 81
    # repository_downloads_path: tmp/repositories

82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
  ## Settings for sending emails
  outgoing_emails:

    # Set to false if you need to disable email sending from GitLab (default: true).
    enabled: true

    # Email address and name used in the "From" field in mails sent by GitLab.
    from: example@example.com
    display_name: GitLab

    # Email address used in "Reply-To" field in mails sent by GitLab.
    reply_to: noreply@example.com

    # Defines a delivery method. Possible values are:
    #   :sendmail      - send emails using sendmail command (default).
    #   :smtp          - send emails using SMTP server.
    #   :letter_opener - open sent emails in browser.
    #   :test          - save emails to ActionMailer::Base.deliveries array.
    delivery_method: :sendmail

    # Settings for the :sendmail delivery method.
    sendmail_settings:
      # The location of the sendmail executable (default: /usr/sbin/sendmail).
      location: /usr/sbin/sendmail

      # The command line arguments to be passed to sendmail (default: -i -t).
      arguments: '-i -t'

    # Settings for the :smtp delivery method.
    smtp_settings:
      # Hostname of the SMTP server used to send emails (default: localhost).
      address: localhost

      # Port of the SMTP server used to send emails (default: 25).
      port: 25

      # If your mail server requires authentication, you need to specify the
      # authentication type here. Possible values are:
      #   :plain    - send the password in the clear text.
      #   :login    - send password Base64 encoded.
      #   :cram_md5 - combines a Challenge/Response mechanism to exchange information and
      #               a cryptographic Message Digest 5 algorithm to hash important information.
      # authentication: :plain
      # user_name: 'gitlab'
      # password: '123456'

      # Detects if STARTTLS is enabled in your SMTP server and starts to use it.
      # Set this to false if there is a problem with your server certificate
      # that you cannot resolve. It should be true for Gmail SMTP.
      # enable_starttls_auto: true

133
  ## Gravatar
134
  ## For Libravatar see: http://doc.gitlab.com/ce/customization/libravatar.html
135
  gravatar:
136
    enabled: true                 # Use user avatar image from Gravatar.com (default: true)
137
    # gravatar urls: possible placeholders: %{hash} %{size} %{email}
138 139
    # 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
140 141 142 143 144 145

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

  ## LDAP settings
146 147
  # You can inspect a sample of the LDAP users with login access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
148 149
  ldap:
    enabled: false
150
    servers:
151 152 153 154 155 156 157 158 159
      ##########################################################################
      #
      # Since GitLab 7.4, LDAP servers get ID's (below the ID is 'main'). GitLab
      # Enterprise Edition now supports connecting to multiple LDAP servers.
      #
      # If you are updating from the old (pre-7.4) syntax, you MUST give your
      # old server the ID 'main'.
      #
      ##########################################################################
160
      main: # 'main' is the GitLab 'provider ID' of this LDAP server
161 162 163 164 165 166 167 168 169
        ## label
        #
        # A human-friendly name for your LDAP server. It is OK to change the label later,
        # for instance if you find out it is too large to fit on the web page.
        #
        # Example: 'Paris' or 'Acme, Ltd.'
        label: 'LDAP'

        host: '_your_ldap_server'
170
        port: 389
171
        uid: 'sAMAccountName'
172
        method: 'plain' # "tls" or "ssl" or "plain"
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
        bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
        password: '_the_password_of_the_bind_user'

        # 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

        # If allow_username_or_email_login is enabled, GitLab will ignore everything
        # after the first '@' in the LDAP username submitted by the user on login.
        #
        # 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'.
        #
        # If you are using "uid: 'userPrincipalName'" on ActiveDirectory you need to
        # disable this setting, because the userPrincipalName contains an '@'.
        allow_username_or_email_login: false

192 193 194
        # To maintain tight control over the number of active users on your GitLab installation,
        # enable this setting to keep new users blocked until they have been cleared by the admin 
        # (default: false).
195 196
        block_auto_created_users: false

197 198 199 200 201 202 203 204 205 206 207 208 209 210
        # Base where we can search for users
        #
        #   Ex. ou=People,dc=gitlab,dc=example
        #
        base: ''

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

212 213 214 215 216 217 218
      # GitLab EE only: add more LDAP servers
      # Choose an ID made of a-z and 0-9 . This ID will be stored in the database
      # so that GitLab can remember which LDAP server a user belongs to.
      # uswest2:
      #   label:
      #   host:
      #   ....
219 220


221
  ## OmniAuth settings
222
  omniauth:
223
    # Allow login via Twitter, Google, etc. using OmniAuth providers
224 225 226
    enabled: false

    # CAUTION!
227
    # This allows users to login without having a user account first (default: false).
228 229
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: false
230
    # Locks down those users until they have been cleared by the admin (default: true).
231 232 233
    block_auto_created_users: true

    ## Auth providers
234 235
    # 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:
D
Drew Blessing 已提交
236
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations
237 238
    # 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.
D
dosire 已提交
239
    # Documentation for this is available at http://doc.gitlab.com/ce/integration/omniauth.html
240
    providers:
D
Douwe Maan 已提交
241 242
      # - { name: 'google_oauth2', app_id: 'YOUR_APP_ID',
      #     app_secret: 'YOUR_APP_SECRET',
243
      #     args: { access_type: 'offline', approval_prompt: '' } }
D
Douwe Maan 已提交
244 245 246 247
      # - { name: 'twitter', app_id: 'YOUR_APP_ID',
      #     app_secret: 'YOUR_APP_SECRET'}
      # - { name: 'github', app_id: 'YOUR_APP_ID',
      #     app_secret: 'YOUR_APP_SECRET',
248
      #     args: { scope: 'user:email' } }
D
Douwe Maan 已提交
249 250
      # - { name: 'gitlab', app_id: 'YOUR_APP_ID',
      #     app_secret: 'YOUR_APP_SECRET',
251
      #     args: { scope: 'api' } }
D
Douwe Maan 已提交
252 253
      # - { name: 'bitbucket', app_id: 'YOUR_APP_ID',
      #     app_secret: 'YOUR_APP_SECRET'}
254 255 256 257 258 259 260 261 262 263 264



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

  # GitLab Satellites
  satellites:
    # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
    path: /home/git/gitlab-satellites/
265
    timeout: 30
266 267 268 269 270

  ## Backup settings
  backup:
    path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
    # keep_time: 604800   # default: 0 (forever) (in seconds)
271 272 273 274
    # upload:
    #   # Fog storage connection settings, see http://fog.io/storage/ .
    #   connection:
    #     provider: AWS
275
    #     region: eu-west-1
276 277 278 279
    #     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'
280 281 282

  ## GitLab Shell settings
  gitlab_shell:
283 284
    path: /home/git/gitlab-shell/

285 286 287 288 289 290 291 292
    # 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

293
    # If you use non-standard ssh port you need to specify it
294 295 296
    # ssh_port: 22

  ## Git settings
R
Riyad Preukschas 已提交
297
  # CAUTION!
298 299 300
  # Use the default values unless you really know what you are doing
  git:
    bin_path: /usr/bin/git
D
dosire 已提交
301 302 303
    # 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
304
    max_size: 20971520 # 20.megabytes
305
    # Git timeout to read a commit, in seconds
306 307
    timeout: 10

308 309 310 311
  #
  # 4. Extra customization
  # ==========================

312
  extra:
313 314 315
    ## Google analytics. Uncomment if you want it
    # google_analytics_id: '_your_tracking_id'

S
Sebastian Winkler 已提交
316 317 318 319
    ## Piwik analytics.
    # piwik_url: '_your_piwik_url'
    # piwik_site_id: '_your_piwik_site_id'

320 321
  rack_attack:
    git_basic_auth:
322 323 324
      # Rack Attack IP banning enabled
      # enabled: true
      #
325 326 327
      # Whitelist requests from 127.0.0.1 for web proxies (NGINX/Apache) with incorrect headers
      # ip_whitelist: ["127.0.0.1"]
      #
328 329 330 331 332 333 334 335 336
      # Limit the number of Git HTTP authentication attempts per IP
      # maxretry: 10
      #
      # Reset the auth attempt counter per IP after 60 seconds
      # findtime: 60
      #
      # Ban an IP for one hour (3600s) after too many auth attempts
      # bantime: 3600

337
development:
A
Andrew8xx8 已提交
338
  <<: *base
339 340
  outgoing_emails:
    delivery_method: :letter_opener
341 342

test:
A
Andrew8xx8 已提交
343
  <<: *base
344 345 346 347
  gravatar:
    enabled: true
  gitlab:
    host: localhost
348
    port: 80
349 350
  outgoing_emails:
    delivery_method: :test
351 352

    # When you run tests we clone and setup gitlab-shell
353
    # In order to setup it correctly you need to specify
354
    # your system username you use to run GitLab
355
    # user: YOUR_USERNAME
356 357 358 359 360 361
  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/
362 363
  issues_tracker:
    redmine:
364
      title: "Redmine"
365
      project_url: "http://redmine/projects/:issues_tracker_id"
366
      issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
A
Axilleas Pipinellis 已提交
367
      new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
368 369 370
  ldap:
    enabled: false
    servers:
371
      main:
372 373 374 375 376 377 378 379 380 381
        label: ldap
        host: 127.0.0.1
        port: 3890
        uid: 'uid'
        method: 'plain' # "tls" or "ssl" or "plain"
        base: 'dc=example,dc=com'
        user_filter: ''
        group_base: 'ou=groups,dc=example,dc=com'
        admin_group: ''
        sync_ssh_keys: false
382 383

staging:
A
Andrew8xx8 已提交
384
  <<: *base