gitlab.yml.example 12.3 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 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
I
Izaak Alpert 已提交
46 47 48 49 50 51
    ## Default theme
    ##   BASIC  = 1
    ##   MARS   = 2
    ##   MODERN = 3
    ##   GRAY   = 4
    ##   COLOR  = 5
I
Izaak Alpert 已提交
52
    # default_theme: 2 # default: 2
I
Izaak Alpert 已提交
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
S
Sytse Sijbrandij 已提交
69
    # If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
J
Julien Kirch 已提交
70
    # This happens when the commit is pushed or merged into the default branch of a project.
S
Sytse Sijbrandij 已提交
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
    #
P
Philzen 已提交
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
  ## Gravatar
122
  ## For Libravatar see: http://doc.gitlab.com/ce/customization/libravatar.html
123
  gravatar:
124
    enabled: true                 # Use user avatar image from Gravatar.com (default: true)
125
    # gravatar urls: possible placeholders: %{hash} %{size} %{email}
126 127
    # 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
128 129 130 131 132 133

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

  ## LDAP settings
134 135
  # You can inspect a sample of the LDAP users with login access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
136 137
  ldap:
    enabled: false
138
    servers:
139
      main: # 'main' is the GitLab 'provider ID' of this LDAP server
140 141 142 143 144 145 146 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
        ## 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: ''
185

186 187 188 189 190 191 192
      # 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:
      #   ....
193 194


195
  ## OmniAuth settings
196
  omniauth:
197
    # Allow login via Twitter, Google, etc. using OmniAuth providers
198 199 200
    enabled: false

    # CAUTION!
201
    # This allows users to login without having a user account first (default: false).
202 203
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: false
204
    # Locks down those users until they have been cleared by the admin (default: true).
205 206 207
    block_auto_created_users: true

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



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

  # GitLab Satellites
  satellites:
    # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
    path: /home/git/gitlab-satellites/
234
    timeout: 30
235 236 237 238 239

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

  ## GitLab Shell settings
  gitlab_shell:
252 253
    path: /home/git/gitlab-shell/

254 255 256 257 258 259 260 261
    # 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

262
    # If you use non-standard ssh port you need to specify it
263 264 265
    # ssh_port: 22

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

277 278 279 280
  #
  # 4. Extra customization
  # ==========================

281
  extra:
282 283 284
    ## Google analytics. Uncomment if you want it
    # google_analytics_id: '_your_tracking_id'

S
Sebastian Winkler 已提交
285 286 287 288
    ## Piwik analytics.
    # piwik_url: '_your_piwik_url'
    # piwik_site_id: '_your_piwik_site_id'

289
    ## Text under sign-in page (Markdown enabled)
290
    # sign_in_text: |
291 292 293
    #   ![Company Logo](http://www.companydomain.com/logo.png)
    #   [Learn more about CompanyName](http://www.companydomain.com/)

294
development:
A
Andrew8xx8 已提交
295
  <<: *base
296 297

test:
A
Andrew8xx8 已提交
298
  <<: *base
299 300 301 302 303
  gravatar:
    enabled: true
  gitlab:
    host: localhost
    port: 80
304 305

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

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