1#
2# DEFAULTS.PROPERTIES
3#
4# The default Gitblit settings.
5#
6
7# This settings file supports parameterization from the command-line for the
8# following command-line parameters:
9#
10#   --baseFolder    ${baseFolder}    SINCE 1.2.1
11#
12# Settings that support ${baseFolder} parameter substitution are indicated with the
13# BASEFOLDER attribute.  If the --baseFolder argument is unspecified, ${baseFolder}
14# and it's trailing / will be discarded from the setting value leaving a relative
15# path that is equivalent to pre-1.2.1 releases.
16#
17# e.g. "${baseFolder}/git" becomes "git", if --baseFolder is unspecified
18#
19# Git Servlet Settings
20#
21
22# Base folder for repositories.
23# This folder may contain bare and non-bare repositories but Gitblit will only
24# allow you to push to bare repositories.
25# Use forward slashes even on Windows!!
26# e.g. c:/gitrepos
27#
28# SINCE 0.5.0
29# RESTART REQUIRED
30# BASEFOLDER
31git.repositoriesFolder = ${baseFolder}/git
32
33# Build the available repository list at startup and cache this list for reuse.
34# This reduces disk io when presenting the repositories page, responding to rpcs,
35# etc, but it means that  Gitblit will not automatically identify repositories
36# added or deleted by external tools.
37#
38# For this case you can use curl, wget, etc to issue an rpc request to clear the
39# cache (e.g. https://localhost/rpc?req=CLEAR_REPOSITORY_CACHE)
40#
41# SINCE 1.1.0
42git.cacheRepositoryList = true
43
44# Search the repositories folder subfolders for other repositories.
45# Repositories MAY NOT be nested (i.e. one repository within another)
46# but they may be grouped together in subfolders.
47# e.g. c:/gitrepos/libraries/mylibrary.git
48#      c:/gitrepos/libraries/myotherlibrary.git
49#
50# SINCE 0.5.0
51git.searchRepositoriesSubfolders = true
52
53# Maximum number of folders to recurse into when searching for repositories.
54# The default value, -1, disables depth limits.
55#
56# SINCE 1.1.0
57git.searchRecursionDepth = -1
58
59# List of regex exclusion patterns to match against folders found in
60# *git.repositoriesFolder*.
61# Use forward slashes even on Windows!!
62# e.g. test/jgit\.git
63#
64# SPACE-DELIMITED
65# CASE-SENSITIVE
66# SINCE 1.1.0
67git.searchExclusions =
68
69# List of regex url patterns for extracting a repository name when locating
70# submodules.
71#   e.g. git.submoduleUrlPatterns = .*?://github.com/(.*) will extract
72#   *gitblit/gitblit.git* from *git://github.com/gitblit/gitblit.git*
73# If no matches are found then the submodule repository name is assumed to be
74# whatever trails the last / character. (e.g. gitblit.git).
75#
76# SPACE-DELIMITED
77# CASE-SENSITIVE
78# SINCE 1.1.0
79git.submoduleUrlPatterns = .*?://github.com/(.*)
80
81# Specify the interface for Git Daemon to bind it's service.
82# You may specify an ip or an empty value to bind to all interfaces.
83# Specifying localhost will result in Gitblit ONLY listening to requests to
84# localhost.
85#
86# SINCE 1.3.0
87# RESTART REQUIRED
88git.daemonBindInterface =
89
90# port for serving the Git Daemon service.  <= 0 disables this service.
91# On Unix/Linux systems, ports < 1024 require root permissions.
92# Recommended value: 9418
93#
94# SINCE 1.3.0
95# RESTART REQUIRED
96git.daemonPort = 9418
97
98# The port for serving the SSH service.  <= 0 disables this service.
99# On Unix/Linux systems, ports < 1024 require root permissions.
100# Recommended value: 29418
101#
102# SINCE 1.5.0
103# RESTART REQUIRED
104git.sshPort = 29418
105
106# Specify the interface for the SSH daemon to bind its service.
107# You may specify an ip or an empty value to bind to all interfaces.
108# Specifying localhost will result in Gitblit ONLY listening to requests to
109# localhost.
110#
111# SINCE 1.5.0
112# RESTART REQUIRED
113git.sshBindInterface =
114
115# Manually specify the hostname to use in advertised SSH repository urls.
116# This may be useful in complex forwarding setups.
117#
118# SINCE 1.7.0
119git.sshAdvertisedHost =
120
121# Manually specify the port to use in advertised SSH repository urls.
122# This may be useful in complex forwarding setups.
123#
124# SINCE 1.7.0
125git.sshAdvertisedPort =
126
127# Specify the SSH key manager to use for retrieving, storing, and removing
128# SSH keys.
129#
130# Valid key managers are:
131#    com.gitblit.transport.ssh.FileKeyManager
132#
133# SINCE 1.5.0
134git.sshKeysManager = com.gitblit.transport.ssh.FileKeyManager
135
136# Directory for storing user SSH keys when using the FileKeyManager.
137#
138# SINCE 1.5.0
139git.sshKeysFolder= ${baseFolder}/ssh
140
141# Use Kerberos5 (GSS) authentication
142#
143# SINCE 1.7.0
144git.sshWithKrb5 = false
145
146# The path to a Kerberos 5 keytab.
147#
148# SINCE 1.7.0
149git.sshKrb5Keytab =
150
151# The service principal name to be used for Kerberos5.
152# The default is host/hostname.
153#
154# SINCE 1.7.0
155git.sshKrb5ServicePrincipalName =
156
157# Strip the domain suffix from a kerberos username.
158# e.g. james@bigbox would be "james"
159#
160# SINCE 1.7.0
161git.sshKrb5StripDomain = true
162
163# SSH backend NIO2|MINA.
164#
165# The Apache Mina project recommends using the NIO2 backend.
166#
167# SINCE 1.5.0
168git.sshBackend = NIO2
169
170# Number of threads used to parse a command line submitted by a client over SSH
171# for execution, create the internal data structures used by that command,
172# and schedule it for execution on another thread.
173#
174# SINCE 1.5.0
175git.sshCommandStartThreads = 2
176
177
178# Allow push/pull over http/https with JGit servlet.
179# If you do NOT want to allow Git clients to clone/push to Gitblit set this
180# to false.  You might want to do this if you are only using ssh:// or git://.
181# If you set this false, consider changing the *web.otherUrls* setting to
182# indicate your clone/push urls.
183#
184# SINCE 0.5.0
185git.enableGitServlet = true
186
187# If you want to restrict all git servlet access to those with valid X509 client
188# certificates then set this value to true.
189#
190# SINCE 1.2.0
191git.requiresClientCertificate = false
192
193# Enforce date checks on client certificates to ensure that they are not being
194# used prematurely and that they have not expired.
195#
196# SINCE 1.2.0
197git.enforceCertificateValidity = true
198
199# List of OIDs to extract from a client certificate DN to map a certificate to
200# an account username.
201#
202# e.g. git.certificateUsernameOIDs = CN
203# e.g. git.certificateUsernameOIDs = FirstName LastName
204#
205# SPACE-DELIMITED
206# SINCE 1.2.0
207git.certificateUsernameOIDs = CN
208
209# Only serve/display bare repositories.
210# If there are non-bare repositories in git.repositoriesFolder and this setting
211# is true, they will be excluded from the ui.
212#
213# SINCE 0.9.0
214git.onlyAccessBareRepositories = false
215
216
217# Specify the list of acceptable transports for pushes.
218# If this setting is empty, all transports are acceptable.
219#
220# Valid choices are: GIT HTTP HTTPS SSH
221#
222# SINCE 1.5.0
223# SPACE-DELIMITED
224git.acceptedPushTransports = HTTP HTTPS SSH
225
226# Allow an authenticated user to create a destination repository on a push if
227# the repository does not already exist.
228#
229# Administrator accounts can create a repository in any project.
230# These repositories are created with the default access restriction and authorization
231# control values.  The pushing account is set as the owner.
232#
233# Non-administrator accounts with the CREATE role may create personal repositories.
234# These repositories are created as VIEW restricted for NAMED users.
235# The pushing account is set as the owner.
236#
237# SINCE 1.2.0
238git.allowCreateOnPush = true
239
240# Global setting to control anonymous pushes.
241#
242# This setting allows/rejects anonymous pushes at the level of the receive pack.
243# This trumps all repository config settings.  While anonymous pushes are convenient
244# on your own box when you are a lone developer,  they are not recommended for
245# any multi-user installation where accountability is required.  Since Gitblit
246# tracks pushes and user accounts, allowing anonymous pushes compromises that
247# information.
248#
249# SINCE 1.4.0
250git.allowAnonymousPushes = false
251
252# The default access restriction for new repositories.
253# Valid values are NONE, PUSH, CLONE, VIEW
254#  NONE = anonymous view, clone, & push
255#  PUSH = anonymous view & clone and authenticated push
256#  CLONE = anonymous view, authenticated clone & push
257#  VIEW = authenticated view, clone, & push
258#
259# SINCE 1.0.0
260git.defaultAccessRestriction = PUSH
261
262# The default authorization control for new repositories.
263# Valid values are AUTHENTICATED and NAMED
264#  AUTHENTICATED = any authenticated user is granted restricted access
265#  NAMED = only named users/teams are granted restricted access
266#
267# SINCE 1.1.0
268git.defaultAuthorizationControl = NAMED
269
270# The prefix for a users personal repository directory.
271#
272# Personal user repositories are created in this directory, named by the user name
273# prefixed with the userRepositoryPrefix. For eaxmple, a user 'john' would have his
274# personal repositories in the directory '~john'.
275#
276# Cannot be an empty string. Also, absolute paths are changed to relative paths by
277# removing the first directory separator.
278#
279# It is not recommended to change this value AFTER your user's have created
280# personal repositories because it will break all permissions, ownership, and
281# repository push/pull operations.
282#
283# RESTART REQUIRED
284# SINCE 1.4.0
285git.userRepositoryPrefix = ~
286
287# The default incremental push tag prefix.  Tag prefix applied to a repository
288# that has automatic push tags enabled and does not specify a custom tag prefix.
289#
290# If incremental push tags are enabled, the tips of each branch in the push will
291# be tagged with an increasing revision integer.
292#
293# e.g. refs/tags/r2345 or refs/tags/rev_2345
294#
295# SINCE 1.3.0
296git.defaultIncrementalPushTagPrefix = r
297
298# Controls creating a repository as --shared on Unix servers.
299#
300# In an Unix environment where mixed access methods exist for shared repositories,
301# the repository should be created with 'git init --shared' to make sure that
302# it can be accessed e.g. via ssh (user git) and http (user www-data).
303#
304# Valid values are the values available for the '--shared' option. The the manual
305# page for 'git init' for more information on shared repositories.
306#
307# SINCE 1.4.0
308git.createRepositoriesShared = false
309
310# Directory for gitignore templates used during repository creation.
311#
312# SINCE 1.6.0
313git.gitignoreFolder = ${baseFolder}/gitignore
314
315# Enable JGit-based garbage collection. (!!EXPERIMENTAL!!)
316#
317# USE AT YOUR OWN RISK!
318#
319# If enabled, the garbage collection executor scans all repositories once a day
320# at the hour of your choosing.  The GC executor will take each repository "offline",
321# one-at-a-time, to check if the repository satisfies it's GC trigger requirements.
322#
323# While the repository is offline it will be inaccessible from the web UI or from
324# any of the other services (git, rpc, rss, etc).
325#
326# Gitblit's GC Executor MAY NOT PLAY NICE with the other Git kids on the block,
327# especially on Windows systems, so if you are using other tools please coordinate
328# their usage with your GC Executor schedule or do not use this feature.
329#
330# The GC algorithm complex and the JGit team advises caution when using their
331# young implementation of GC.
332#
333# http://wiki.eclipse.org/EGit/New_and_Noteworthy/2.1#Garbage_Collector_and_Repository_Storage_Statistics
334#
335# EXPERIMENTAL
336# SINCE 1.2.0
337# RESTART REQUIRED
338git.enableGarbageCollection = false
339
340# Hour of the day for the GC Executor to scan repositories.
341# This value is in 24-hour time.
342#
343# SINCE 1.2.0
344git.garbageCollectionHour = 0
345
346# The default minimum total filesize of loose objects to trigger early garbage
347# collection.
348#
349# You may specify a custom threshold for a repository in the repository's settings.
350# Common unit suffixes of k, m, or g are supported.
351#
352# SINCE 1.2.0
353git.defaultGarbageCollectionThreshold = 500k
354
355# The default period, in days, between GCs for a repository.  If the total filesize
356# of the loose object exceeds *git.garbageCollectionThreshold* or the repository's
357# custom threshold, this period will be short-circuited.
358#
359# e.g. if a repository collects 100KB of loose objects every day with a 500KB
360# threshold and a period of 7 days, it will take 5 days for the loose objects to
361# be collected, packed, and pruned.
362#
363# OR
364#
365# if a repository collects 10KB of loose objects every day with a 500KB threshold
366# and a period of 7 days, it will take the full 7 days for the loose objects to be
367# collected, packed, and pruned.
368#
369# You may specify a custom period for a repository in the repository's settings.
370#
371# The minimum value is 1 day since the GC Executor only runs once a day.
372#
373# SINCE 1.2.0
374git.defaultGarbageCollectionPeriod = 7
375
376# Gitblit can automatically fetch ref updates for a properly configured mirror
377# repository.
378#
379# Requirements:
380# 1. you must manually clone the repository using native git
381#    git clone --mirror git://somewhere.com/myrepo.git
382# 2. the "origin" remote must be the mirror source
383# 3. the "origin" repository must be accessible without authentication OR the
384#    credentials must be embedded in the origin url (not recommended)
385#
386# Notes:
387# 1. "origin" SSH urls are untested and not likely to work
388# 2. mirrors cloned while Gitblit is running are likely to require clearing the
389#    gitblit cache (link on the repositories page of an administrator account)
390# 3. Gitblit will automatically repair any invalid fetch refspecs with a "//"
391#    sequence.
392#
393# SINCE 1.4.0
394# RESTART REQUIRED
395git.enableMirroring = false
396
397# Specify the period between update checks for mirrored repositories.
398# The shortest period you may specify between mirror update checks is 5 mins.
399#
400# SINCE 1.4.0
401# RESTART REQUIRED
402git.mirrorPeriod = 30 mins
403
404# Number of bytes of a pack file to load into memory in a single read operation.
405# This is the "page size" of the JGit buffer cache, used for all pack access
406# operations. All disk IO occurs as single window reads. Setting this too large
407# may cause the process to load more data than is required; setting this too small
408# may increase the frequency of read() system calls.
409#
410# Default on JGit is 8 KiB on all platforms.
411#
412# Common unit suffixes of k, m, or g are supported.
413# Documentation courtesy of the Gerrit project.
414#
415# SINCE 1.0.0
416# RESTART REQUIRED
417git.packedGitWindowSize = 8k
418
419# Maximum number of bytes to load and cache in memory from pack files. If JGit
420# needs to access more than this many bytes it will unload less frequently used
421# windows to reclaim memory space within the process. As this buffer must be shared
422# with the rest of the JVM heap, it should be a fraction of the total memory available.
423#
424# The JGit team recommends setting this value larger than the size of your biggest
425# repository. This ensures you can serve most requests from memory.
426#
427# Default on JGit is 10 MiB on all platforms.
428#
429# Common unit suffixes of k, m, or g are supported.
430# Documentation courtesy of the Gerrit project.
431#
432# SINCE 1.0.0
433# RESTART REQUIRED
434git.packedGitLimit = 10m
435
436# Maximum number of bytes to reserve for caching base objects that multiple deltafied
437# objects reference. By storing the entire decompressed base object in a cache Git
438# is able to avoid unpacking and decompressing frequently used base objects multiple times.
439#
440# Default on JGit is 10 MiB on all platforms. You probably do not need to adjust
441# this value.
442#
443# Common unit suffixes of k, m, or g are supported.
444# Documentation courtesy of the Gerrit project.
445#
446# SINCE 1.0.0
447# RESTART REQUIRED
448git.deltaBaseCacheLimit = 10m
449
450# Maximum number of pack files to have open at once. A pack file must be opened
451# in order for any of its data to be available in a cached window.
452#
453# If you increase this to a larger setting you may need to also adjust the ulimit
454# on file descriptors for the host JVM, as Gitblit needs additional file descriptors
455# available for network sockets and other repository data manipulation.
456#
457# Default on JGit is 128 file descriptors on all platforms.
458# Documentation courtesy of the Gerrit project.
459#
460# SINCE 1.0.0
461# RESTART REQUIRED
462git.packedGitOpenFiles = 128
463
464# When true, JGit will use mmap() rather than malloc()+read() to load data from
465# pack files.  The use of mmap can be problematic on some JVMs as the garbage
466# collector must deduce that a memory mapped segment is no longer in use before
467# a call to munmap() can be made by the JVM native code.
468#
469# In server applications (such as Gitblit) that need to access many pack files,
470# setting this to true risks artificially running out of virtual address space,
471# as the garbage collector cannot reclaim unused mapped spaces fast enough.
472#
473# Default on JGit is false. Although potentially slower, it yields much more
474# predictable behavior.
475# Documentation courtesy of the Gerrit project.
476#
477# SINCE 1.0.0
478# RESTART REQUIRED
479git.packedGitMmap = false
480
481# Validate all received (pushed) objects are valid.
482#
483# SINCE 1.5.0
484git.checkReceivedObjects = true
485
486# Validate all referenced but not supplied objects are reachable.
487#
488# If enabled, Gitblit will verify that references to objects not contained
489# within the received pack are already reachable through at least one other
490# reference advertised to clients.
491#
492# This feature is useful when Gitblit doesn't trust the client to not provide a
493# forged SHA-1 reference to an object, in an attempt to access parts of the DAG
494# that they aren't allowed to see and which have been hidden from them via the
495# configured AdvertiseRefsHook or RefFilter.
496#
497# Enabling this feature may imply at least some, if not all, of the same functionality
498# performed by git.checkReceivedObjects.
499#
500# SINCE 1.5.0
501git.checkReferencedObjectsAreReachable = true
502
503# Set the maximum allowed Git object size.
504#
505# If an object is larger than the given size the pack-parsing will throw an exception
506# aborting the receive-pack operation.  The default value, 0, disables maximum
507# object size checking.
508#
509# SINCE 1.5.0
510git.maxObjectSizeLimit = 0
511
512# Set the maximum allowed pack size.
513#
514# A pack exceeding this size will be rejected. The default value, -1, disables
515# maximum pack size checking.
516#
517# SINCE 1.5.0
518git.maxPackSizeLimit = -1
519
520# Use the Gitblit patch receive pack for processing contributions and tickets.
521# This allows the user to push a patch using the familiar Gerrit syntax:
522#
523#    git push <remote> HEAD:refs/for/<targetBranch>
524#
525# NOTE:
526# This requires git.enableGitServlet = true AND it requires an authenticated
527# git transport connection (http/https) when pushing from a client.
528#
529# Valid services include:
530#    com.gitblit.tickets.FileTicketService
531#    com.gitblit.tickets.BranchTicketService
532#    com.gitblit.tickets.RedisTicketService
533#
534# SINCE 1.4.0
535# RESTART REQUIRED
536tickets.service =
537
538# Globally enable or disable creation of new bug, enhancement, task, etc tickets
539# for all repositories.
540#
541# If false, no tickets can be created through the ui for any repositories.
542# If true, each repository can control if they allow new tickets to be created.
543#
544# NOTE:
545# If a repository is accepting patchsets, new proposal tickets can be created
546# regardless of this setting.
547#
548# SINCE 1.4.0
549tickets.acceptNewTickets = true
550
551# Globally enable or disable pushing patchsets to all repositories.
552#
553# If false, no patchsets will be accepted for any repositories.
554# If true, each repository can control if they accept new patchsets.
555#
556# NOTE:
557# If a repository is accepting patchsets, new proposal tickets can be created
558# regardless of the acceptNewTickets setting.
559#
560# SINCE 1.4.0
561tickets.acceptNewPatchsets = true
562
563# Default setting to control patchset merge through the web ui.  If true, patchsets
564# must have an approval score to enable the merge button.  This setting can be
565# overriden per-repository.
566#
567# SINCE 1.4.0
568tickets.requireApproval = false
569
570# The case-insensitive regular expression used to identify and close tickets on
571# push to the integration branch for commits that are NOT already referenced as
572# a patchset tip.
573#
574# SINCE 1.5.0
575tickets.closeOnPushCommitMessageRegex = (?:fixes|closes)[\\s-]+#?(\\d+)
576
577# The case-insensitive regular expression used to identify and link tickets on
578# push to the commits based on commit message.  In the case of a patchset
579# self references are ignored
580#
581# SINCE 1.8.0
582tickets.linkOnPushCommitMessageRegex = (?:ref|task|issue|bug)?[\\s-]*#(\\d+)
583
584# Specify the location of the Lucene Ticket index
585#
586# SINCE 1.4.0
587# RESTART REQUIRED
588tickets.indexFolder = ${baseFolder}/tickets/lucene
589
590# Define the url for the Redis server.
591#
592# e.g. redis://localhost:6379
593#      redis://:foobared@localhost:6379/2
594#
595# SINCE 1.4.0
596# RESTART REQUIRED
597tickets.redis.url =
598
599# The number of tickets to display on a page.
600#
601# SINCE 1.4.0
602tickets.perPage = 25
603
604# The folder where plugins are loaded from.
605#
606# SINCE 1.5.0
607# RESTART REQUIRED
608# BASEFOLDER
609plugins.folder = ${baseFolder}/plugins
610
611# The registry of available plugins.
612#
613# SINCE 1.5.0
614plugins.registry = http://plugins.gitblit.com/plugins.json
615
616# The HTTP proxy host for plugin manager.
617#
618# SINCE 1.7.0
619plugins.httpProxyHost =
620
621# The HTTP proxy port for plugin manager.
622#
623# SINCE 1.7.0
624plugins.httpProxyPort =
625
626# The HTTP proxy authorization header for plugin manager.
627#
628# SINCE 1.7.0
629plugins.httpProxyAuthorization =
630
631# Number of threads used to handle miscellaneous tasks in the background.
632#
633# SINCE 1.6.0
634# RESTART REQUIRED
635execution.defaultThreadPoolSize = 1
636
637#
638# Groovy Integration
639#
640
641# Location of Groovy scripts to use for Pre and Post receive hooks.
642# Use forward slashes even on Windows!!
643# e.g. c:/groovy
644#
645# RESTART REQUIRED
646# SINCE 0.8.0
647# BASEFOLDER
648groovy.scriptsFolder = ${baseFolder}/groovy
649
650# Specify the directory Grape uses for downloading libraries.
651# http://groovy.codehaus.org/Grape
652#
653# RESTART REQUIRED
654# SINCE 1.0.0
655# BASEFOLDER
656groovy.grapeFolder = ${baseFolder}/groovy/grape
657
658# Scripts to execute on Pre-Receive.
659#
660# These scripts execute after an incoming push has been parsed and validated
661# but BEFORE the changes are applied to the repository.  You might reject a
662# push in this script based on the repository and branch the push is attempting
663# to change.
664#
665# Script names are case-sensitive on case-sensitive file systems.  You may omit
666# the traditional ".groovy" from this list if your file extension is ".groovy"
667#
668# NOTE:
669# These scripts are only executed when pushing to *Gitblit*, not to other Git
670# tooling you may be using.  Also note that these scripts are shared between
671# repositories. These are NOT repository-specific scripts!  Within the script
672# you may customize the control-flow for a specific repository by checking the
673# *repository* variable.
674#
675# SPACE-DELIMITED
676# CASE-SENSITIVE
677# SINCE 0.8.0
678groovy.preReceiveScripts =
679
680# Scripts to execute on Post-Receive.
681#
682# These scripts execute AFTER an incoming push has been applied to a repository.
683# You might trigger a continuous-integration build here or send a notification.
684#
685# Script names are case-sensitive on case-sensitive file systems.  You may omit
686# the traditional ".groovy" from this list if your file extension is ".groovy"
687#
688# NOTE:
689# These scripts are only executed when pushing to *Gitblit*, not to other Git
690# tooling you may be using.  Also note that these scripts are shared between
691# repositories. These are NOT repository-specific scripts!  Within the script
692# you may customize the control-flow for a specific repository by checking the
693# *repository* variable.
694#
695# SPACE-DELIMITED
696# CASE-SENSITIVE
697# SINCE 0.8.0
698groovy.postReceiveScripts =
699
700# Repository custom fields for Groovy Hook mechanism
701#
702# List of key=label pairs of custom fields to prompt for in the Edit Repository
703# page.  These keys are stored in the repository's git config file in the
704# section [gitblit "customFields"].  Key names are alphanumeric only.  These
705# fields are intended to be used for the Groovy hook mechanism where a script
706# can adjust it's execution based on the custom fields stored in the repository
707# config.
708#
709# e.g. "commitMsgRegex=Commit Message Regular Expression" anotherProperty=Another
710#
711# SPACE-DELIMITED
712# SINCE 1.0.0
713groovy.customFields =
714
715#
716# Fanout Settings
717#
718
719# Fanout is a PubSub notification service that can be used by Sparkleshare
720# to eliminate repository change polling.  The fanout service runs in a separate
721# thread on a separate port from the Gitblit http/https application.
722# This service is provided so that Sparkleshare may be used with Gitblit in
723# firewalled environments or where reliance on Sparkleshare's default notifications
724# server (notifications.sparkleshare.org) is unwanted.
725#
726# This service maintains an open socket connection from the client to the
727# Fanout PubSub service. This service may not work properly behind a proxy server.
728
729# Specify the interface for Fanout to bind it's service.
730# You may specify an ip or an empty value to bind to all interfaces.
731# Specifying localhost will result in Gitblit ONLY listening to requests to
732# localhost.
733#
734# SINCE 1.2.1
735# RESTART REQUIRED
736fanout.bindInterface =
737
738# port for serving the Fanout PubSub service.  <= 0 disables this service.
739# On Unix/Linux systems, ports < 1024 require root permissions.
740# Recommended value: 17000
741#
742# SINCE 1.2.1
743# RESTART REQUIRED
744fanout.port = 0
745
746# Use Fanout NIO service.  If false, a multi-threaded socket service will be used.
747# Be advised, the socket implementation spawns a thread per connection plus the
748# connection acceptor thread.  The NIO implementation is completely single-threaded.
749#
750# SINCE 1.2.1
751# RESTART REQUIRED
752fanout.useNio = true
753
754# Concurrent connection limit.  <= 0 disables concurrent connection throttling.
755# If > 0, only the specified number of concurrent connections will be allowed
756# and all other connections will be rejected.
757#
758# SINCE 1.2.1
759# RESTART REQUIRED
760fanout.connectionLimit = 0
761
762#
763# Authentication Settings
764#
765
766# Require authentication to see everything but the admin pages
767#
768# SINCE 0.5.0
769# RESTART REQUIRED
770web.authenticateViewPages = false
771
772# If web.authenticateViewPages=true you may optionally require a client-side
773# basic authentication prompt instead of the standard form-based login.
774#
775# SINCE 1.3.0
776web.enforceHttpBasicAuthentication = false
777
778# Require admin authentication for the admin functions and pages
779#
780# SINCE 0.5.0
781# RESTART REQUIRED
782web.authenticateAdminPages = true
783
784# Allow Gitblit to store a cookie in the user's browser for automatic
785# authentication.  The cookie is generated by the user service.
786#
787# SINCE 0.5.0
788web.allowCookieAuthentication = true
789
790# Allow deletion of non-empty repositories. This is enforced for all delete vectors.
791#
792# SINCE 1.6.0
793web.allowDeletingNonEmptyRepositories = true
794
795# Setting to include personal repositories in the main repositories list.
796#
797# SINCE 1.6.0
798web.includePersonalRepositories = false
799
800# Config file for storing project metadata
801#
802# SINCE 1.2.0
803# BASEFOLDER
804web.projectsFile = ${baseFolder}/projects.conf
805
806# Defines the tab length for all blob views
807#
808# SINCE 1.7.0
809web.tabLength = 4
810
811# Either the full path to a user config file (users.conf)
812# OR a fully qualified class name that implements the IUserService interface.
813#
814# Any custom user service implementation must have a public default constructor.
815#
816# SINCE 0.5.0
817# RESTART REQUIRED
818# BASEFOLDER
819realm.userService = ${baseFolder}/users.conf
820
821# Ordered list of external authentication providers which will be used if
822# authentication against the local user service fails.
823#
824# Valid providers are:
825#
826#    htpasswd
827#    httpheader
828#    ldap
829#    pam
830#    redmine
831#    salesforce
832#    windows
833
834# e.g. realm.authenticationProviders = htpasswd windows
835#
836# SINCE 1.4.0
837# RESTART REQUIRED
838# SPACE-DELIMITED
839realm.authenticationProviders =
840
841# How to store passwords.
842# Valid values are plain, md5, or combined-md5.  md5 is the hash of password.
843# combined-md5 is the hash of username.toLowerCase()+password.
844# Default is md5.
845#
846# SINCE 0.5.0
847realm.passwordStorage = md5
848
849# Minimum valid length for a plain text password.
850# Default value is 5.  Absolute minimum is 4.
851#
852# SINCE 0.5.0
853realm.minPasswordLength = 5
854
855#
856# Gitblit Web Settings
857#
858# If blank Gitblit is displayed.
859#
860# SINCE 0.5.0
861web.siteName =
862
863# The canonical url of your Gitblit server to be used in repository url generation,
864# RSS feeds, and all embedded links in email and plugin-based notifications.
865#
866# If you are running Gitblit on a non-standard http port (i.e. not 80 and not 443)
867# then you must specify that port in this url otherwise your generated urls will be
868# incorrect.
869#
870# The hostname of this url will be extracted for SSH and GIT protocol repository
871# url generation.
872#
873# e.g. web.canonicalUrl = https://dev.gitblit.com
874#      web.canonicalUrl = https://dev.gitblit.com:8443
875#
876# SINCE 1.4.0
877web.canonicalUrl =
878
879# You may specify a different logo image for the header but it must be 120x45px.
880# If the specified file does not exist, the default Gitblit logo will be used.
881#
882# SINCE 1.3.0
883# BASEFOLDER
884web.headerLogo = ${baseFolder}/logo.png
885
886# You may specify a different link URL for the logo image anchor.
887# If blank the Gitblit main page URL is used.
888#
889# SINCE 1.3.0
890# BASEFOLDER
891web.rootLink =
892
893# You may specify a custom header background CSS color.  If unspecified, the
894# default color will be used.
895#
896# e.g. web.headerBackgroundColor = #002060
897#
898# SINCE 1.3.0
899web.headerBackgroundColor =
900
901# You may specify a custom header foreground CSS color.  If unspecified, the
902# default color will be used.
903#
904# e.g. web.headerForegroundColor = white
905#
906# SINCE 1.3.0
907web.headerForegroundColor =
908
909# You may specify a custom header foreground hover CSS color.  If unspecified, the
910# default color will be used.
911#
912# e.g. web.headerHoverColor = white
913#
914# SINCE 1.3.0
915web.headerHoverColor =
916
917# You may specify a custom header border CSS color.  If unspecified, the default
918# color will be used.
919#
920# e.g. web.headerBorderColor = #002060
921#
922# SINCE 1.3.0
923web.headerBorderColor =
924
925# You may specify a custom header border CSS color.  If unspecified, the default
926# color will be used.
927#
928# e.g. web.headerBorderFocusColor = #ff9900
929#
930# SINCE 1.3.0
931web.headerBorderFocusColor =
932
933# If *web.authenticateAdminPages*=true, users with "admin" role can create
934# repositories, create users, and edit repository metadata.
935#
936# If *web.authenticateAdminPages*=false, any user can execute the aforementioned
937# functions.
938#
939# SINCE 0.5.0
940web.allowAdministration = true
941
942# Setting to disable rendering the top-level navigation header which includes
943# the login form, top-level links like dashboard, repositories, search, etc.
944# This setting is only useful if you plan to embed Gitblit within another page
945# or system.
946#
947# SINCE 1.4.0
948web.hideHeader = false
949
950# Allows rpc clients to list repositories and possibly manage or administer the
951# Gitblit server, if the authenticated account has administrator permissions.
952# See *web.enableRpcManagement* and *web.enableRpcAdministration*.
953#
954# SINCE 0.7.0
955web.enableRpcServlet = true
956
957# Allows rpc clients to manage repositories and users of the Gitblit instance,
958# if the authenticated account has administrator permissions.
959# Requires *web.enableRpcServlet=true*.
960#
961# SINCE 0.7.0
962web.enableRpcManagement = false
963
964# Allows rpc clients to control the server settings and monitor the health of this
965# this Gitblit instance, if the authenticated account has administrator permissions.
966# Requires *web.enableRpcServlet=true* and *web.enableRpcManagement*.
967#
968# SINCE 0.7.0
969web.enableRpcAdministration = false
970
971# Full path to a configurable robots.txt file.  With this file you can control
972# what parts of your Gitblit server respectable robots are allowed to traverse.
973# http://googlewebmastercentral.blogspot.com/2008/06/improving-on-robots-exclusion-protocol.html
974#
975# SINCE 1.0.0
976# BASEFOLDER
977web.robots.txt = ${baseFolder}/robots.txt
978
979# The number of minutes to cache a page in the browser since the last request.
980# The default value is 0 minutes.  A value <= 0 disables all page caching which
981# is the default behavior for Gitblit <= 1.3.0.
982#
983# SINCE 1.3.1
984web.pageCacheExpires = 0
985
986# If true, the web ui layout will respond and adapt to the browser's dimensions.
987# if false, the web ui will use a 940px fixed-width layout.
988# http://twitter.github.com/bootstrap/scaffolding.html#responsive
989#
990# SINCE 1.0.0
991web.useResponsiveLayout = true
992
993# Allow Gravatar images to be displayed in Gitblit pages.
994#
995# SINCE 0.8.0
996web.allowGravatar = true
997
998# Define which class will generate the avatar URL.
999#
1000# SINCE 1.7.0
1001web.avatarClass = com.gitblit.GravatarGenerator
1002
1003# Allow dynamic zip downloads.
1004#
1005# SINCE 0.5.0
1006web.allowZipDownloads = true
1007
1008# If *web.allowZipDownloads=true* the following formats will be displayed for
1009# download compressed archive links:
1010#
1011# zip   = standard .zip
1012# tar   = standard tar format (preserves *nix permissions and symlinks)
1013# gz    = gz-compressed tar
1014# xz    = xz-compressed tar
1015# bzip2 = bzip2-compressed tar
1016#
1017# SPACE-DELIMITED
1018# SINCE 1.2.0
1019web.compressedDownloads = zip gz
1020
1021# Allow optional Lucene integration. Lucene indexing is an opt-in feature.
1022# A repository may specify branches to index with Lucene instead of using Git
1023# commit traversal. There are scenarios where you may want to completely disable
1024# Lucene indexing despite a repository specifying indexed branches.  One such
1025# scenario is on a resource-constrained federated Gitblit mirror.
1026#
1027# SINCE 0.9.0
1028web.allowLuceneIndexing = true
1029
1030# Control the frequency of Lucene repository indexing.
1031# The default setting is to check for updated refs every 2 mins.
1032#
1033# SINCE 1.6.1
1034web.luceneFrequency = 2 mins
1035
1036# Allows an authenticated user to create forks of a repository
1037#
1038# set this to false if you want to disable all fork controls on the web site
1039#
1040web.allowForking = true
1041
1042# Controls the length of shortened commit hash ids
1043#
1044# SINCE 1.2.0
1045web.shortCommitIdLength = 6
1046
1047# Use Clippy (Flash solution) to provide a copy-to-clipboard button.
1048# If false, a button with a more primitive JavaScript-based prompt box will
1049# offer a 3-step (click, ctrl+c, enter) copy-to-clipboard alternative.
1050#
1051# SINCE 0.8.0
1052web.allowFlashCopyToClipboard = true
1053
1054# Default maximum number of commits that a repository may contribute to the
1055# activity page, regardless of the selected duration.  This setting may be valuable
1056# for an extremely busy server.  This value may also be configed per-repository
1057# in Edit Repository. 0 disables this throttle.
1058#
1059# SINCE 1.2.0
1060web.maxActivityCommits = 0
1061
1062# Default number of entries to include in RSS Syndication links
1063#
1064# SINCE 0.5.0
1065web.syndicationEntries = 25
1066
1067# Show the size of each repository on the repositories page.
1068# This requires recursive traversal of each repository folder.  This may be
1069# non-performant on some operating systems and/or filesystems.
1070#
1071# SINCE 0.5.2
1072web.showRepositorySizes = true
1073
1074# List of custom regex expressions that can be displayed in the Filters menu
1075# of the Repositories and Activity pages.  Keep them very simple because you
1076# are likely to run into encoding issues if they are too complex.
1077#
1078# Use !!! to separate the filters
1079#
1080# SINCE 0.8.0
1081web.customFilters =
1082
1083# Show federation registrations (without token) and the current pull status
1084# to non-administrator users.
1085#
1086# SINCE 0.6.0
1087web.showFederationRegistrations = false
1088
1089# This is the message displayed when *web.authenticateViewPages=true*.
1090# This can point to a file with Markdown content.
1091# Specifying "gitblit" uses the internal login message.
1092#
1093# SINCE 0.7.0
1094# BASEFOLDER
1095web.loginMessage = gitblit
1096
1097# This is the message displayed above the repositories table.
1098# This can point to a file with Markdown content.
1099# Specifying "gitblit" uses the internal welcome message.
1100#
1101# SINCE 0.5.0
1102# BASEFOLDER
1103web.repositoriesMessage = gitblit
1104
1105# Ordered list of charsets/encodings to use when trying to display a blob.
1106# If empty, UTF-8 and ISO-8859-1 are used.  The server's default charset
1107# is always appended to the encoding list.  If all encodings fail to cleanly
1108# decode the blob content, UTF-8 will be used with the standard malformed
1109# input/unmappable character replacement strings.
1110#
1111# SPACE-DELIMITED
1112# SINCE 1.0.0
1113web.blobEncodings = UTF-8 ISO-8859-1
1114
1115# Manually set the default timezone to be used by Gitblit for display in the
1116# web ui.  This value is independent of the JVM timezone.  Specifying a blank
1117# value will default to the JVM timezone.
1118# e.g. America/New_York, US/Pacific, UTC, Europe/Berlin
1119#
1120# SINCE 0.9.0
1121# RESTART REQUIRED
1122web.timezone =
1123
1124# Use the client timezone when formatting dates.
1125# This uses AJAX to determine the browser's timezone and may require more
1126# server overhead because a Wicket session is created.  All Gitblit pages
1127# attempt to be stateless, if possible.
1128#
1129# SINCE 0.5.0
1130# RESTART REQUIRED
1131web.useClientTimezone = false
1132
1133# Time format
1134# <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
1135#
1136# SINCE 0.8.0
1137web.timeFormat = HH:mm
1138
1139# Short date format
1140# <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
1141#
1142# SINCE 0.5.0
1143web.datestampShortFormat = yyyy-MM-dd
1144
1145# Long date format
1146#
1147# SINCE 0.8.0
1148web.datestampLongFormat = EEEE, MMMM d, yyyy
1149
1150# Long timestamp format
1151# <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
1152#
1153# SINCE 0.5.0
1154web.datetimestampLongFormat = EEEE, MMMM d, yyyy HH:mm Z
1155
1156# Mount URL parameters
1157# This setting controls if pretty or parameter URLs are used.
1158# i.e.
1159# if true:
1160#     http://localhost/commit/myrepo/abcdef
1161# if false:
1162#     http://localhost/commit/?r=myrepo&h=abcdef
1163#
1164# SINCE 0.5.0
1165# RESTART REQUIRED
1166web.mountParameters = true
1167
1168# Some servlet containers (e.g. Tomcat >= 6.0.10) disallow '/' (%2F) encoding
1169# in URLs as a security precaution for proxies.  This setting tells Gitblit
1170# to preemptively replace '/' with '*' or '!' for url string parameters.
1171#
1172# <https://issues.apache.org/jira/browse/WICKET-1303>
1173# <http://tomcat.apache.org/security-6.html#Fixed_in_Apache_Tomcat_6.0.10>
1174# Add *-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to your
1175# *CATALINA_OPTS* or to your JVM launch parameters
1176#
1177# SINCE 0.5.2
1178web.forwardSlashCharacter = /
1179
1180# Show other URLs on the summary page for accessing your git repositories
1181# Use spaces to separate urls.
1182#
1183# {0} is the token for the repository name
1184# {1} is the token for the username
1185#
1186# The username is only practical if you have setup your other git serving
1187# solutions accounts to have the same username as the Gitblit account.
1188#
1189# e.g.
1190# web.otherUrls = ssh://localhost/git/{0} git://localhost/git/{0} https://{1}@localhost/r/{0}
1191#
1192# SPACE-DELIMITED
1193# SINCE 0.5.0
1194web.otherUrls =
1195
1196# Should HTTP/HTTPS URLs be displayed if the git servlet is enabled?
1197# default: true
1198#
1199# SINCE 1.7.0
1200web.showHttpServletUrls = true
1201
1202# Should git URLs be displayed if the git daemon is enabled?
1203# default: true
1204#
1205# SINCE 1.7.0
1206web.showGitDaemonUrls = true
1207
1208# Should SSH URLs be displayed if the SSH daemon is enabled?
1209# default: true
1210#
1211# SINCE 1.7.0
1212web.showSshDaemonUrls = true
1213
1214# Should effective permissions be advertised for access paths defined in web.otherUrls?
1215# If false, gitblit will indicate unknown permissions for the external link. If true,
1216# gitblit will indicate permissions as defined within gitblit (including limiting to clone
1217# permission is the transport type is not a valid push mechaism in git.acceptedPushTransports).
1218#
1219# Configure with caution: Note that gitblit has no way of knowing if further restrictions
1220# are imposed by an external forwarding agent, so this may cause user confusion due to
1221# more rights being advertised than are available through the URL. It will NOT grant
1222# additional rights, but may incorrectly offer actions that are unavailable externally.
1223# default: false
1224#
1225# SINCE 1.7.0
1226web.advertiseAccessPermissionForOtherUrls = false
1227
1228# Should app-specific clone links be displayed for SourceTree, SparkleShare, etc?
1229#
1230# SINCE 1.3.0
1231web.allowAppCloneLinks = true
1232
1233# Choose how to present the repositories list.
1234#   grouped = group nested/subfolder repositories together (no sorting)
1235#   flat = flat list of repositories (sorting allowed)
1236#
1237# SINCE 0.5.0
1238web.repositoryListType = grouped
1239
1240# If using a grouped repository list and there are repositories at the
1241# root level of your repositories folder, you may specify the displayed
1242# group name with this setting.  This value is only used for web presentation.
1243#
1244# SINCE 0.5.0
1245web.repositoryRootGroupName = main
1246
1247# Display the repository swatch color next to the repository name link in the
1248# repositories list.
1249#
1250# SINCE 0.8.0
1251web.repositoryListSwatches = true
1252
1253# Defines the default commit message renderer.  This can be configured
1254# per-repository.
1255#
1256# Valid values are: plain, markdown
1257#
1258# SINCE 1.4.0
1259web.commitMessageRenderer = plain
1260
1261# Control if email addresses are shown in web ui
1262#
1263# SINCE 0.5.0
1264web.showEmailAddresses = true
1265
1266# Shows a combobox in the page links header with commit, committer, and author
1267# search selection.  Default search is commit.
1268#
1269# SINCE 0.5.0
1270web.showSearchTypeSelection = false
1271
1272# Controls display of activity graphs on the dashboard, activity, and summary
1273# pages.  Charts are generated using Flotr2; an open source HTML5 library.
1274#
1275# SINCE 0.5.0
1276web.generateActivityGraph = true
1277
1278# Displays the commits branch graph in the summary page and commits/log page.
1279#
1280# SINCE 1.4.0
1281web.showBranchGraph = true
1282
1283# The default number of days to show on the activity page.
1284# Value must exceed 0 else default of 7 is used
1285#
1286# SINCE 0.8.0
1287web.activityDuration = 7
1288
1289# Choices for days of activity to display.
1290#
1291# SPACE-DELIMITED
1292# SINCE 1.3.0
1293web.activityDurationChoices = 1 3 7 14 21 28
1294
1295# Maximum number of days of activity that may be displayed on the activity page.
1296#
1297# SINCE 1.3.2
1298web.activityDurationMaximum = 30
1299
1300# The number of days of commits to cache in memory for the dashboard, activity,
1301# and project pages.  A value of 0 will disable all caching and will parse commits
1302# in each repository per-request.  If the value > 0 these pages will try to fulfill
1303# requests using the commit cache.  If the request specifies a period which falls
1304# outside the commit cache window, then the cache will be ignored and the request
1305# will be fulfilled by brute-force parsing all relevant commits per-repository.
1306#
1307# Consider the values specified for *web.activityDurationChoices* when setting
1308# the cache size AND consider adjusting the JVM -Xmx heap parameter appropriately.
1309#
1310# SINCE 1.3.0
1311# RESTART REQUIRED
1312web.activityCacheDays = 14
1313
1314# Case-insensitive list of authors to exclude from metrics.  Useful for
1315# eliminating bots.
1316#
1317# SPACE-DELIMITED
1318# SINCE 1.3.0
1319web.metricAuthorExclusions =
1320
1321# The number of commits to display on the summary page
1322# Value must exceed 0 else default of 20 is used
1323#
1324# SINCE 0.5.0
1325web.summaryCommitCount = 16
1326
1327# The number of tags/branches to display on the summary page.
1328# -1 = all tags/branches
1329# 0 = hide tags/branches
1330# N = N tags/branches
1331#
1332# SINCE 0.5.0
1333web.summaryRefsCount = 5
1334
1335# Show a README file, if available, on the summary page.
1336#
1337# SINCE 1.4.0
1338web.summaryShowReadme = false
1339
1340# The number of items to show on a page before showing the first, prev, next
1341# pagination links.  A default of 50 is used for any invalid value.
1342#
1343# SINCE 0.5.0
1344web.itemsPerPage = 50
1345
1346# The number of reflog changes to display on the overview page
1347# Value must exceed 0 else default of 5 is used
1348#
1349# SINCE 1.3.0
1350web.overviewReflogCount = 5
1351
1352# The number of reflog changes to show on a reflog page before show the first,
1353#  prev, next pagination links.  A default of 10 is used for any invalid value.
1354#
1355# SINCE 1.3.0
1356web.reflogChangesPerPage = 10
1357
1358# Specify the names of documents in the root of your repository to be displayed
1359# in tabs on your repository docs page.  If the name is not found in the root
1360# then no tab is added.  The order specified is the order displayed.  Do not
1361# specify a file extension as the aggregation of markup extensions + txt are used
1362# in the search algorithm.
1363#
1364# SPACE-DELIMITED
1365# SINCE 1.4.0
1366web.documents = readme home index changelog contributing submitting_patches copying license notice authors
1367
1368# Registered file extensions to ignore during Lucene indexing
1369#
1370# SPACE-DELIMITED
1371# SINCE 0.9.0
1372web.luceneIgnoreExtensions = 7z arc arj bin bmp dll doc docx exe gif gz jar jpg lib lzh odg odf odt pdf ppt pptx png so swf tar xcf xls xlsx zip
1373
1374# Registered extensions for google-code-prettify
1375#
1376# SPACE-DELIMITED
1377# SINCE 0.5.0
1378web.prettyPrintExtensions = aea agc basic bat c cbm cl clj cmd cpp cs css dart el erl erlang frm fs go groovy h hpp hs htm html java js latex lisp ll llvm lsp lua ml moxie mumps n nemerle pascal php pl pm prefs properties proto py r R rb rd Rd rkt s S scala scm sh Splus sql ss tcl tex vb vbs vhd vhdl wiki xml xq xquery yaml yml ymlapollo
1379
1380# Registered extensions for markdown transformation
1381#
1382# SPACE-DELIMITED
1383# CASE-SENSITIVE
1384# SINCE 0.5.0
1385web.markdownExtensions = md mkd markdown MD MKD
1386
1387# Registered extensions for mediawiki transformation
1388#
1389# SPACE-DELIMITED
1390# CASE-SENSITIVE
1391# SINCE 1.4.0
1392web.mediawikiExtensions = mw mediawiki
1393
1394# Registered extensions for twiki transformation
1395#
1396# SPACE-DELIMITED
1397# CASE-SENSITIVE
1398# SINCE 1.4.0
1399web.twikiExtensions = twiki
1400
1401# Registered extensions for textile transformation
1402#
1403# SPACE-DELIMITED
1404# CASE-SENSITIVE
1405# SINCE 1.4.0
1406web.textileExtensions = textile
1407
1408# Registered extensions for confluence transformation
1409#
1410# SPACE-DELIMITED
1411# CASE-SENSITIVE
1412# SINCE 1.4.0
1413web.confluenceExtensions = confluence
1414
1415# Registered extensions for tracwiki transformation
1416#
1417# SPACE-DELIMITED
1418# CASE-SENSITIVE
1419# SINCE 1.4.0
1420web.tracwikiExtensions = tracwiki
1421
1422# Image extensions
1423#
1424# SPACE-DELIMITED
1425# SINCE 0.5.0
1426web.imageExtensions = bmp ico gif jpg jpeg png svg
1427
1428# Registered extensions for binary blobs
1429#
1430# SPACE-DELIMITED
1431# SINCE 0.5.0
1432web.binaryExtensions = 7z arc arj bin dll doc docx exe gz jar lib lzh odg odf odt pdf ppt pptx so tar xls xlsx zip
1433
1434# Aggressive heap management will run the garbage collector on every generated
1435# page.  This slows down page generation a little but improves heap consumption.
1436#
1437# SINCE 0.5.0
1438web.aggressiveHeapManagement = false
1439
1440# Run the webapp in debug mode
1441#
1442# SINCE 0.5.0
1443# RESTART REQUIRED
1444web.debugMode = false
1445
1446# Allows to hide the user logon form or dropdown menu from the top pane
1447# if it's not needed.
1448#
1449# SINCE 1.7.0
1450web.displayUserPanel = true
1451
1452# Force a default locale for all users, ignoring the browser's settings.
1453# An empty value allows Gitblit to use the translation preferred by the browser.
1454#
1455# Changing this value while the server is running will only affect new sessions.
1456#
1457# e.g. web.forceDefaultLocale = en
1458#
1459# SINCE 1.3.0
1460web.forceDefaultLocale =
1461
1462# The following two settings serve to avoid browser overload when trying to
1463# render very large diffs. Both limits apply to commitdiffs, not to single-file
1464# diffs.
1465
1466# Maximum number of diff lines to display for a single file diff in a commitdiff.
1467# Defaults to 4000; can be adjusted in the range [500 .. 4000]. Smaller values
1468# set the limit to 500, larger values to 4000. The count includes context lines
1469# in the diff.
1470#
1471# If a file diff in a commitdiff produces more lines, the diff for that file is
1472# not shown in the commitdiff.
1473#
1474# SINCE 1.7.0
1475web.maxDiffLinesPerFile = 4000
1476
1477# Total maximum number of diff lines to show in a commitdiff. Defaults to 20000;
1478# can be adjusted in the range [1000 .. 20000]. Smaller values set the limit to
1479# 1000, larger values to 20000. The count includes context lines in diffs.
1480#
1481# If a commitdiff produces more lines, it is truncated after the first file
1482# that exceeds the limit. Diffs for subsequent files in the commit are not shown
1483# at all in the commitdiff. Omitted files are listed, though.
1484#
1485# SINCE 1.7.0
1486web.maxDiffLines = 20000
1487
1488# Enable/disable global regex substitutions (i.e. shared across repositories)
1489#
1490# SINCE 0.5.0
1491# DEPRECATED 1.4.0 (migrate to bugtraq instead)
1492regex.global = true
1493
1494# Example global regex substitutions
1495# Use !!! to separate the search pattern and the replace pattern
1496# searchpattern!!!replacepattern
1497# SINCE 0.5.0
1498
1499# regex.global.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!Bug: <a href="http://somehost/bug/$3">$3</a>
1500# SINCE 0.5.0
1501
1502# Example Gerrit links
1503# regex.global.changeid = \\b(Change-Id:\\s*)([A-Za-z0-9]*)\\b!!!Change-Id: <a href="http://somehost/r/#q,$2,n,z">$2</a>
1504# regex.global.reviewedon = \\b(Reviewed-on:\\s*)([A-Za-z0-9:/\\.]*)\\b!!!Reviewed-on: <a href="$2">$2</a>
1505
1506# Example per-repository regex substitutions overrides global
1507# SINCE 0.5.0
1508# regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!Bug: <a href="http://elsewhere/bug/$3">$3</a>
1509
1510#
1511# Mail Settings
1512# SINCE 0.6.0
1513#
1514# Mail settings are used to notify administrators of received federation proposals
1515#
1516
1517# ip or hostname of smtp server
1518#
1519# SINCE 0.6.0
1520mail.server =
1521
1522# port to use for smtp requests
1523#
1524# SINCE 0.6.0
1525mail.port = 25
1526
1527# debug the mail executor
1528#
1529# SINCE 0.6.0
1530mail.debug = false
1531
1532# use SMTPs flag
1533mail.smtps = false
1534
1535# use STARTTLS flag
1536#
1537# SINCE 1.6.0
1538mail.starttls = false
1539
1540# if your smtp server requires authentication, supply the credentials here
1541#
1542# SINCE 0.6.0
1543mail.username =
1544# SINCE 0.6.0
1545mail.password =
1546
1547# from address for generated emails
1548#
1549# SINCE 0.6.0
1550mail.fromAddress =
1551
1552# List of email addresses for the Gitblit administrators
1553#
1554# SPACE-DELIMITED
1555# SINCE 0.6.0
1556mail.adminAddresses =
1557
1558# List of email addresses for sending push email notifications.
1559#
1560# This key currently requires use of the sendemail.groovy hook script.
1561# If you set sendemail.groovy in *groovy.postReceiveScripts* then email
1562# notifications for all repositories (regardless of access restrictions!)
1563# will be sent to these addresses.
1564#
1565# SPACE-DELIMITED
1566# SINCE 0.8.0
1567mail.mailingLists =
1568
1569#
1570# Federation Settings
1571# SINCE 0.6.0
1572#
1573# A Gitblit federation is a way to backup one Gitblit instance to another.
1574#
1575# *git.enableGitServlet* must be true to use this feature.
1576
1577# Your federation name is used for federation status acknowledgments.  If it is
1578# unset, and you elect to send a status acknowledgment, your Gitblit instance
1579# will be identified by its hostname, if available, else your internal ip address.
1580# The source Gitblit instance will also append your external IP address to your
1581# identification to differentiate multiple pulling systems behind a single proxy.
1582#
1583# SINCE 0.6.0
1584federation.name =
1585
1586# Specify the passphrase of this Gitblit instance.
1587#
1588# An unspecified (empty) passphrase disables processing federation requests.
1589#
1590# This value can be anything you want: an integer, a sentence, an haiku, etc.
1591# Keep the value simple, though, to avoid Java properties file encoding issues.
1592#
1593# Changing your passphrase will break any registrations you have established with other
1594# Gitblit instances.
1595#
1596# CASE-SENSITIVE
1597# SINCE 0.6.0
1598# RESTART REQUIRED *(only to enable or disable federation)*
1599federation.passphrase =
1600
1601# Control whether or not this Gitblit instance can receive federation proposals
1602# from another Gitblit instance.  Registering a federated Gitblit is a manual
1603# process.  Proposals help to simplify that process by allowing a remote Gitblit
1604# instance to send your Gitblit instance the federation pull data.
1605#
1606# SINCE 0.6.0
1607federation.allowProposals = false
1608
1609# The destination folder for cached federation proposals.
1610# Use forward slashes even on Windows!!
1611#
1612# SINCE 0.6.0
1613# BASEFOLDER
1614federation.proposalsFolder = ${baseFolder}/proposals
1615
1616# The default pull frequency if frequency is unspecified on a registration
1617#
1618# SINCE 0.6.0
1619federation.defaultFrequency = 60 mins
1620
1621# Federation Sets are named groups of repositories.  The Federation Sets are
1622# available for selection in the repository settings page.  You can assign a
1623# repository to one or more sets and then distribute the token for the set.
1624# This allows you to grant federation pull access to a subset of your available
1625# repositories.  Tokens for federation sets only grant repository pull access.
1626#
1627# SPACE-DELIMITED
1628# CASE-SENSITIVE
1629# SINCE 0.6.0
1630federation.sets =
1631
1632# Federation pull registrations
1633# Registrations are read once, at startup.
1634#
1635# RESTART REQUIRED
1636#
1637# frequency:
1638#   The shortest frequency allowed is every 5 minutes
1639#   Decimal frequency values are cast to integers
1640#   Frequency values may be specified in mins, hours, or days
1641#   Values that can not be parsed or are unspecified default to *federation.defaultFrequency*
1642#
1643# folder:
1644#   if unspecified, the folder is *git.repositoriesFolder*
1645#   if specified, the folder is relative to *git.repositoriesFolder*
1646#
1647# bare:
1648#   if true, each repository will be created as a *bare* repository and will not
1649#   have a working directory.
1650#
1651#   if false, each repository will be created as a normal repository suitable
1652#   for local work.
1653#
1654# mirror:
1655#   if true, each repository HEAD is reset to *origin/master* after each pull.
1656#   The repository will be flagged *isFrozen* after the initial clone.
1657#
1658#   if false, each repository HEAD will point to the FETCH_HEAD of the initial
1659#   clone from the origin until pushed to or otherwise manipulated.
1660#
1661# mergeAccounts:
1662#   if true, remote accounts and their permissions are merged into your
1663#   users.properties file
1664#
1665# notifyOnError:
1666#   if true and the mail configuration is properly set, administrators will be
1667#   notified by email of pull failures
1668#
1669# include and exclude:
1670#   Space-delimited list of repositories to include or exclude from pull
1671#   may be * wildcard to include or exclude all
1672#   may use fuzzy match (e.g. org.eclipse.*)
1673
1674#
1675# (Nearly) Perfect Mirror example
1676#
1677
1678#federation.example1.url = https://go.gitblit.com
1679#federation.example1.token = 6f3b8a24bf970f17289b234284c94f43eb42f0e4
1680#federation.example1.frequency = 120 mins
1681#federation.example1.folder =
1682#federation.example1.bare = true
1683#federation.example1.mirror = true
1684#federation.example1.mergeAccounts = true
1685
1686#
1687# Advanced Realm Settings
1688#
1689
1690# Auto-creates user accounts based on the servlet container principal.  This
1691# assumes that your Gitblit install is a protected resource and your container's
1692# authentication process intercepts all Gitblit requests.
1693#
1694# SINCE 1.3.0
1695realm.container.autoCreateAccounts = false
1696
1697# A set of mapping used to map HTTP session attributes to user informations
1698# They are used if realm.container.autoCreateAccounts is set to true and
1699# the webapp container used can fill the session with user informations
1700#
1701# SINCE 1.7.0
1702realm.container.autoAccounts.displayName =
1703realm.container.autoAccounts.emailAddress =
1704realm.container.autoAccounts.locale =
1705
1706# If the user's created by the webapp container is given this role,
1707# the user created will be a admin user.
1708#
1709# SINCE 1.7.0
1710realm.container.autoAccounts.adminRole =
1711
1712
1713# Allow or prohibit Windows guest account logins
1714#
1715# SINCE 1.3.0
1716realm.windows.allowGuests = false
1717
1718# Allow user accounts belonging to the BUILTIN\Administrators group to be
1719# Gitblit administrators.
1720#
1721# SINCE 1.4.0
1722realm.windows.permitBuiltInAdministrators = true
1723
1724# The default domain for authentication.
1725#
1726# If specified, this domain will be used for authentication UNLESS the supplied
1727# login name manually specifies a domain (.e.g. mydomain\james or james@mydomain)
1728#
1729# If unspecified, the username must be specified in UPN format (name@domain).
1730#
1731# if "." (dot) is specified, ONLY the local account database will be used.
1732#
1733# SINCE 1.3.0
1734realm.windows.defaultDomain =
1735
1736# The PAM service name for authentication.
1737# default: system-auth
1738#
1739# SINCE 1.3.1
1740realm.pam.serviceName = system-auth
1741
1742# The Apache htpasswd file that contains the users and passwords.
1743# default: ${baseFolder}/htpasswd
1744#
1745# RESTART REQUIRED
1746# BASEFOLDER
1747# SINCE 1.3.2
1748realm.htpasswd.userfile = ${baseFolder}/htpasswd
1749
1750# The name of the HTTP header containing the user name to trust as authenticated
1751# default: none
1752#
1753# WARNING: only use this mechanism if your requests are coming from a trusted
1754#          and secure source such as a self managed reverse proxy!
1755#
1756# RESTART REQUIRED
1757# SINCE 1.7.2
1758realm.httpheader.userheader =
1759
1760# The name of the HTTP header containing the team names of which the user is a member.
1761# If this is defined, then only groups from the headers will be available, whereas
1762# if this remains undefined, then local groups will be used.
1763#
1764# This setting requires that you have configured realm.httpheader.userheader.
1765#
1766# default: none
1767#
1768# RESTART REQUIRED
1769# SINCE 1.7.2
1770realm.httpheader.teamheader =
1771
1772# The regular expression pattern used to separate team names in the team header value
1773# default: ,
1774#
1775# This setting requires that you have configured realm.httpheader.teamheader
1776#
1777# RESTART REQUIRED
1778# SINCE 1.7.2
1779realm.httpheader.teamseparator = ,
1780
1781# Auto-creates user accounts when successfully authenticated based on HTTP headers.
1782#
1783# SINCE 1.7.2
1784realm.httpheader.autoCreateAccounts = false
1785
1786# Restrict the Salesforce user to members of this org.
1787# default: 0 (i.e. do not check the Org ID)
1788#
1789# SINCE 1.3.0
1790realm.salesforce.orgId = 0
1791
1792# URL of the LDAP server.
1793# To use encrypted transport, use either ldaps:// URL for SSL or ldap+tls:// to
1794# send StartTLS command.
1795#
1796# SINCE 1.0.0
1797realm.ldap.server = ldap://localhost
1798
1799# Login username for LDAP searches.
1800# If this value is unspecified, anonymous LDAP login will be used.
1801#
1802# e.g. mydomain\\username
1803#
1804# SINCE 1.0.0
1805realm.ldap.username = cn=Directory Manager
1806
1807# Login password for LDAP searches.
1808#
1809# SINCE 1.0.0
1810realm.ldap.password = password
1811
1812# Bind pattern for Authentication.
1813# Allow to directly authenticate an user without LDAP Searches.
1814#
1815# e.g. CN=${username},OU=Users,OU=UserControl,OU=MyOrganization,DC=MyDomain
1816#
1817# SINCE 1.5.0
1818realm.ldap.bindpattern =
1819
1820
1821# Delegate team membership control to LDAP.
1822#
1823# If true, team user memberships will be specified by LDAP groups.  This will
1824# disable team selection in Edit User and user selection in Edit Team.
1825#
1826# If false, LDAP will only be used for authentication and Gitblit will maintain
1827# team memberships with the *realm.ldap.backingUserService*.
1828#
1829# SINCE 1.0.0
1830realm.ldap.maintainTeams = false
1831
1832# Root node for all LDAP users
1833#
1834# This is the root node from which subtree user searches will begin.
1835# If blank, Gitblit will search ALL nodes.
1836#
1837# SINCE 1.0.0
1838realm.ldap.accountBase = OU=Users,OU=UserControl,OU=MyOrganization,DC=MyDomain
1839
1840# Filter criteria for LDAP users
1841#
1842# Query pattern to use when searching for a user account. This may be any valid
1843# LDAP query expression, including the standard (&) and (|) operators.
1844#
1845# Variables may be injected via the ${variableName} syntax.
1846# Recognized variables are:
1847#    ${username} - The text entered as the user name
1848#
1849# SINCE 1.0.0
1850realm.ldap.accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
1851
1852# Root node for all LDAP groups to be used as Gitblit Teams
1853#
1854# This is the root node from which subtree team searches will begin.
1855# If blank, Gitblit will search ALL nodes.
1856#
1857# SINCE 1.0.0
1858realm.ldap.groupBase = OU=Groups,OU=UserControl,OU=MyOrganization,DC=MyDomain
1859
1860# Filter criteria for LDAP groups
1861#
1862# Query pattern to use when searching for a team. This may be any valid
1863# LDAP query expression, including the standard (&) and (|) operators.
1864#
1865# Variables may be injected via the ${variableName} syntax.
1866# Recognized variables are:
1867#    ${username} - The text entered as the user name
1868#    ${dn} - The Distinguished Name of the user logged in
1869#
1870# All attributes from the LDAP User record are available. For example, if a user
1871# has an attribute "fullName" set to "John", "(fn=${fullName})" will be
1872# translated to "(fn=John)".
1873#
1874# SINCE 1.0.0
1875realm.ldap.groupMemberPattern = (&(objectClass=group)(member=${dn}))
1876
1877# Filter criteria for empty LDAP groups
1878#
1879# Query pattern to use when searching for an empty team. This may be any valid
1880# LDAP query expression, including the standard (&) and (|) operators.
1881#
1882# default: (&(objectClass=group)(!(member=*)))
1883# SINCE 1.4.0
1884realm.ldap.groupEmptyMemberPattern = (&(objectClass=group)(!(member=*)))
1885
1886# LDAP users or groups that should be given administrator privileges.
1887#
1888# Teams are specified with a leading '@' character.  Groups with spaces in the
1889# name can be entered as "@team name".  This setting only applies when using
1890# LDAP to maintain team memberships.
1891#
1892# e.g. realm.ldap.admins = john @git_admins "@git admins"
1893#
1894# SPACE-DELIMITED
1895# SINCE 1.0.0
1896realm.ldap.admins = @Git_Admins
1897
1898# Attribute(s) on the USER record that indicate their display (or full) name.
1899# Leave blank for no mapping available in LDAP.
1900#
1901# This may be a single attribute, or a string of multiple attributes.  Examples:
1902#  displayName - Uses the attribute 'displayName' on the user record
1903#  ${personalTitle}. ${givenName} ${surname} - Will concatenate the 3
1904#       attributes together, with a '.' after personalTitle
1905#
1906# SINCE 1.0.0
1907realm.ldap.displayName = displayName
1908
1909# Attribute(s) on the USER record that indicate their email address.
1910# Leave blank for no mapping available in LDAP.
1911#
1912# This may be a single attribute, or a string of multiple attributes.  Examples:
1913#  email - Uses the attribute 'email' on the user record
1914#  ${givenName}.${surname}@gitblit.com -Will concatenate the 2 attributes
1915#       together with a '.' and '@' creating something like first.last@gitblit.com
1916#
1917# SINCE 1.0.0
1918realm.ldap.email = email
1919
1920# Attribute on the USER record that indicate their username to be used in gitblit
1921# when synchronizing users from LDAP
1922# if blank, Gitblit will use uid
1923# For MS Active Directory this may be sAMAccountName
1924#
1925# SINCE 1.0.0
1926realm.ldap.uid = uid
1927
1928# Defines whether to synchronize all LDAP users and teams into the user service
1929#
1930# Valid values: true, false
1931# If left blank, false is assumed
1932#
1933# SINCE 1.4.0
1934realm.ldap.synchronize = false
1935
1936# Defines the period to be used when synchronizing users and teams from ldap.
1937#
1938# Must be of the form '<long> <TimeUnit>' where <TimeUnit> is one of 'MILLISECONDS', 'SECONDS', 'MINUTES', 'HOURS', 'DAYS'
1939
1940# default: 5 MINUTES
1941#
1942# RESTART REQUIRED
1943# SINCE 1.4.0
1944realm.ldap.syncPeriod = 5 MINUTES
1945
1946# Defines whether to delete non-existent LDAP users from the user service
1947# during synchronization. depends on  realm.ldap.synchronize = true
1948#
1949# Valid values: true, false
1950# If left blank, true is assumed
1951#
1952# SINCE 1.4.0
1953realm.ldap.removeDeletedUsers = true
1954
1955# URL of the Redmine.
1956#
1957# SINCE 1.2.0
1958realm.redmine.url = http://example.com/redmine
1959
1960#
1961# Gitblit GO Server Settings
1962# The following settings only affect the integrated GO variant.
1963#
1964
1965# The temporary folder to decompress the embedded gitblit webapp.
1966#
1967# SINCE 0.5.0
1968# RESTART REQUIRED
1969# BASEFOLDER
1970server.tempFolder = ${baseFolder}/temp
1971
1972# Specify the maximum number of concurrent http/https Jetty worker
1973# threads to allow.  This setting does not affect other threaded
1974# daemons and components of Gitblit.
1975#
1976# SINCE 1.3.0
1977# RESTART REQUIRED
1978server.threadPoolSize = 50
1979
1980# Context path for the GO application.  You might want to change the context
1981# path if running Gitblit behind a proxy layer such as mod_proxy.
1982#
1983# SINCE 0.7.0
1984# RESTART REQUIRED
1985server.contextPath = /
1986
1987# Standard http port to serve.  <= 0 disables this connector.
1988# On Unix/Linux systems, ports < 1024 require root permissions.
1989# Recommended value: 80 or 8080
1990#
1991# SINCE 0.5.0
1992# RESTART REQUIRED
1993server.httpPort = 0
1994
1995# Secure/SSL https port to serve. <= 0 disables this connector.
1996# On Unix/Linux systems, ports < 1024 require root permissions.
1997# Recommended value: 443 or 8443
1998#
1999# SINCE 0.5.0
2000# RESTART REQUIRED
2001server.httpsPort = 8443
2002
2003# Automatically redirect http requests to the secure https connector.
2004#
2005# This setting requires that you have configured server.httpPort and server.httpsPort.
2006# Unless you are on a private LAN where you trust all client connections, it is
2007# recommended to use https for all communications.
2008#
2009# SINCE 1.4.0
2010# RESTART REQUIRED
2011server.redirectToHttpsPort = false
2012
2013# Specify the interface for Jetty to bind the standard connector.
2014# You may specify an ip or an empty value to bind to all interfaces.
2015# Specifying localhost will result in Gitblit ONLY listening to requests to
2016# localhost.
2017#
2018# SINCE 0.5.0
2019# RESTART REQUIRED
2020server.httpBindInterface =
2021
2022# Specify the interface for Jetty to bind the secure connector.
2023# You may specify an ip or an empty value to bind to all interfaces.
2024# Specifying localhost will result in Gitblit ONLY listening to requests to
2025# localhost.
2026#
2027# SINCE 0.5.0
2028# RESTART REQUIRED
2029server.httpsBindInterface =
2030
2031# Alias of certificate to use for https/SSL serving.  If blank the first
2032# certificate found in the keystore will be used.
2033#
2034# SINCE 1.2.0
2035# RESTART REQUIRED
2036server.certificateAlias = localhost
2037
2038# Password for SSL keystore.
2039# Keystore password and certificate password must match.
2040# This is provided for convenience, its probably more secure to set this value
2041# using the --storePassword command line parameter.
2042#
2043# If you are using the official JRE or JDK from Oracle you may not have the
2044# JCE Unlimited Strength Jurisdiction Policy files bundled with your JVM.  Because
2045# of this, your store/key password can not exceed 7 characters.  If you require
2046# longer passwords you may need to install the JCE Unlimited Strength Jurisdiction
2047# Policy files from Oracle.
2048#
2049# http://www.oracle.com/technetwork/java/javase/downloads/index.html
2050#
2051# Gitblit and the Gitblit Certificate Authority will both indicate if Unlimited
2052# Strength encryption is available.
2053#
2054# SINCE 0.5.0
2055# RESTART REQUIRED
2056server.storePassword = gitblit
2057
2058# If serving over https (recommended) you might consider requiring clients to
2059# authenticate with ssl certificates.  If enabled, only https clients with the
2060# a valid client certificate will be able to access Gitblit.
2061#
2062# If disabled, client certificate authentication is optional and will be tried
2063# first before falling-back to form authentication or basic authentication.
2064#
2065# Requiring client certificates to access any of Gitblit may be too extreme,
2066# consider this carefully.
2067#
2068# SINCE 1.2.0
2069# RESTART REQUIRED
2070server.requireClientCertificates = false
2071
2072# Port for shutdown monitor to listen on.
2073#
2074# SINCE 0.5.0
2075# RESTART REQUIRED
2076server.shutdownPort = 8081
2077
2078#
2079# Gitblit Filestore Settings
2080#
2081# The location to save the filestore blobs
2082#
2083# SINCE 1.7.0
2084filestore.storageFolder = ${baseFolder}/lfs
2085
2086# Maximum allowable upload size
2087# The default value, -1, disables upload limits.
2088# Common unit suffixes of k, m, or g are supported.
2089# SINCE 1.7.0
2090filestore.maxUploadSize = -1
2091