gitlab.yml.example 12.6 KB
Newer Older
1
# # # # # # # # # # # # # # # # # #
2
# GitLab application config file  #
3
# # # # # # # # # # # # # # # # # #
4 5
#
# How to use:
B
Ben Bodenmiller 已提交
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
B
Ben Bodenmiller 已提交
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
    # relative_url_root: /gitlab

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

36 37 38 39 40
    ## Date & Time settings
    # Uncomment and customize if you want to change the default time zone of GitLab application.
    # To see all available zones, run `bundle exec rake time:zones:all`
    # time_zone: 'UTC'

41
    ## Email settings
42 43
    # Uncomment and set to false if you need to disable email sending from GitLab (default: true)
    # email_enabled: true
44
    # Email address used in the "From" field in mails sent by GitLab
45
    email_from: example@example.com
46

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

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

61 62 63 64 65 66 67 68 69 70
    ## 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

71 72
    # Restrict setting visibility levels for non-admin users.
    # The default is to allow all levels.
73
    # restricted_visibility_levels: [ "public" ]
74

75
    ## Automatic issue closing
S
Sytse Sijbrandij 已提交
76
    # If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
J
Julien Kirch 已提交
77
    # This happens when the commit is pushed or merged into the default branch of a project.
S
Sytse Sijbrandij 已提交
78
    # When not specified the default issue_closing_pattern as specified below will be used.
79
    # Tip: you can test your closing pattern at http://rubular.com
80
    # issue_closing_pattern: '([Cc]lose[sd]|[Ff]ixe[sd]) #(\d+)'
81

82 83 84 85 86
    ## Default project features settings
    default_projects_features:
      issues: true
      merge_requests: true
      wiki: true
87
      snippets: false
88
      visibility_level: "private"  # can be "private" | "internal" | "public"
89

90 91 92 93
    ## Webhook settings
    # Number of seconds to wait for HTTP response after sending webhook HTTP POST request (default: 10)
    # webhook_timeout: 10

94 95
    ## Repository downloads directory
    # When a user clicks e.g. 'Download zip' on a project, a temporary zip file is created in the following directory.
96
    # The default is 'tmp/repositories' relative to the root of the Rails app.
97 98
    # repository_downloads_path: tmp/repositories

99
  ## External issues trackers
100
  issues_tracker:
101
    # redmine:
102
    #   title: "Redmine"
103 104 105 106 107
    #   ## 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"
108
    #
109 110 111 112 113 114
    #   ## 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"
115
    #
P
Philzen 已提交
116
    #   ## If not nil, links to creating new issues will be replaced with this
117 118 119 120
    #   ## 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"
121
    #
122
    # jira:
123
    #   title: "Atlassian Jira"
124 125 126
    #   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"
127

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

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

  ## LDAP settings
141 142
  # You can inspect a sample of the LDAP users with login access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
143 144
  ldap:
    enabled: false
145
    servers:
146
      main: # 'main' is the GitLab 'provider ID' of this LDAP server
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
        ## 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'
        port: 636
        uid: 'sAMAccountName'
        method: 'ssl' # "tls" or "ssl" or "plain"
        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

        # 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: ''
192

193 194 195 196 197 198 199
      # 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:
      #   ....
200 201


202
  ## OmniAuth settings
203
  omniauth:
204
    # Allow login via Twitter, Google, etc. using OmniAuth providers
205 206 207
    enabled: false

    # CAUTION!
208
    # This allows users to login without having a user account first (default: false).
209 210
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: false
211
    # Locks down those users until they have been cleared by the admin (default: true).
212 213 214
    block_auto_created_users: true

    ## Auth providers
215 216
    # 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 已提交
217
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations
218 219
    # 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 已提交
220
    # Documentation for this is available at http://doc.gitlab.com/ce/integration/omniauth.html
221 222 223 224 225 226 227
    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',
228 229
      #     app_secret: 'YOUR APP SECRET',
      #     args: { scope: 'user:email' } }
230 231 232 233 234 235 236 237 238 239 240



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

  # GitLab Satellites
  satellites:
    # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
    path: /home/git/gitlab-satellites/
241
    timeout: 30
242 243 244 245 246

  ## Backup settings
  backup:
    path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
    # keep_time: 604800   # default: 0 (forever) (in seconds)
247 248 249 250
    # upload:
    #   # Fog storage connection settings, see http://fog.io/storage/ .
    #   connection:
    #     provider: AWS
251
    #     region: eu-west-1
252 253 254 255
    #     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'
256 257 258

  ## GitLab Shell settings
  gitlab_shell:
259 260
    path: /home/git/gitlab-shell/

261 262 263 264 265 266 267 268
    # 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

269
    # If you use non-standard ssh port you need to specify it
270 271 272
    # ssh_port: 22

  ## Git settings
R
Riyad Preukschas 已提交
273
  # CAUTION!
274 275 276
  # Use the default values unless you really know what you are doing
  git:
    bin_path: /usr/bin/git
D
dosire 已提交
277 278 279
    # 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
280
    max_size: 20971520 # 20.megabytes
281
    # Git timeout to read a commit, in seconds
282 283
    timeout: 10

284 285 286 287
  #
  # 4. Extra customization
  # ==========================

288
  extra:
289 290 291
    ## Google analytics. Uncomment if you want it
    # google_analytics_id: '_your_tracking_id'

S
Sebastian Winkler 已提交
292 293 294 295
    ## Piwik analytics.
    # piwik_url: '_your_piwik_url'
    # piwik_site_id: '_your_piwik_site_id'

296
    ## Text under sign-in page (Markdown enabled)
297
    # sign_in_text: |
298 299 300
    #   ![Company Logo](http://www.companydomain.com/logo.png)
    #   [Learn more about CompanyName](http://www.companydomain.com/)

301
development:
A
Andrew8xx8 已提交
302
  <<: *base
303 304

test:
A
Andrew8xx8 已提交
305
  <<: *base
306 307 308 309
  gravatar:
    enabled: true
  gitlab:
    host: localhost
310
    port: 3001
311 312

    # When you run tests we clone and setup gitlab-shell
313
    # In order to setup it correctly you need to specify
314
    # your system username you use to run GitLab
315
    # user: YOUR_USERNAME
316 317 318 319 320 321
  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/
322 323
  issues_tracker:
    redmine:
324
      title: "Redmine"
325
      project_url: "http://redmine/projects/:issues_tracker_id"
326
      issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
A
Axilleas Pipinellis 已提交
327
      new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
328 329 330
  ldap:
    enabled: false
    servers:
331
      main:
332 333 334 335 336 337 338 339 340 341
        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
342 343

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