##// END OF EJS Templates
configs: updated docstrings, and improved explanation of some settings
marcink -
r631:dce4efba default
parent child Browse files
Show More
@@ -1,654 +1,672 b''
1 ################################################################################
1
2
2 3 ################################################################################
3 # RhodeCode Enterprise - configuration file #
4 # Built-in functions and variables #
4 ## RHODECODE ENTERPRISE CONFIGURATION ##
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 # #
7 6 ################################################################################
8 7
9 8 [DEFAULT]
10 9 debug = true
10
11 11 ################################################################################
12 ## EMAIL CONFIGURATION ##
12 13 ## Uncomment and replace with the email address which should receive ##
13 14 ## any error reports after an application crash ##
14 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 16 ################################################################################
16 #email_to = admin@localhost
17 #error_email_from = paste_error@localhost
17
18 ## prefix all emails subjects with given prefix, helps filtering out emails
19 #email_prefix = [RhodeCode]
20
21 ## email FROM address all mails will be sent
18 22 #app_email_from = rhodecode-noreply@localhost
23
24 ## Uncomment and replace with the address which should receive any error report
25 ## note: using appenlight for error handling doesn't need this to be uncommented
26 #email_to = admin@localhost
27
28 ## in case of Application errors, sent an error email form
29 #error_email_from = rhodecode_error@localhost
30
31 ## additional error message to be send in case of server crash
19 32 #error_message =
20 #email_prefix = [RhodeCode]
33
21 34
22 35 #smtp_server = mail.server.com
23 36 #smtp_username =
24 37 #smtp_password =
25 38 #smtp_port =
26 39 #smtp_use_tls = false
27 40 #smtp_use_ssl = true
28 41 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 42 #smtp_auth =
30 43
31 44 [server:main]
32 45 ## COMMON ##
33 46 host = 127.0.0.1
34 47 port = 5000
35 48
36 49 ##################################
37 50 ## WAITRESS WSGI SERVER ##
38 51 ## Recommended for Development ##
39 52 ##################################
53
40 54 use = egg:waitress#main
41 55 ## number of worker threads
42 56 threads = 5
43 57 ## MAX BODY SIZE 100GB
44 58 max_request_body_size = 107374182400
45 59 ## Use poll instead of select, fixes file descriptors limits problems.
46 60 ## May not work on old windows systems.
47 61 asyncore_use_poll = true
48 62
49 63
50 64 ##########################
51 65 ## GUNICORN WSGI SERVER ##
52 66 ##########################
53 67 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
68
54 69 #use = egg:gunicorn#main
55 70 ## Sets the number of process workers. You must set `instance_id = *`
56 71 ## when this option is set to more than one worker, recommended
57 72 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 73 ## The `instance_id = *` must be set in the [app:main] section below
59 74 #workers = 2
60 75 ## number of threads for each of the worker, must be set to 1 for gevent
61 76 ## generally recommened to be at 1
62 77 #threads = 1
63 78 ## process name
64 79 #proc_name = rhodecode
65 80 ## type of worker class, one of sync, gevent
66 81 ## recommended for bigger setup is using of of other than sync one
67 82 #worker_class = sync
68 83 ## The maximum number of simultaneous clients. Valid only for Gevent
69 84 #worker_connections = 10
70 85 ## max number of requests that worker will handle before being gracefully
71 86 ## restarted, could prevent memory leaks
72 87 #max_requests = 1000
73 88 #max_requests_jitter = 30
74 89 ## amount of time a worker can spend with handling a request before it
75 90 ## gets killed and restarted. Set to 6hrs
76 91 #timeout = 21600
77 92
78 93
79 94 ## prefix middleware for RhodeCode, disables force_https flag.
80 95 ## recommended when using proxy setup.
81 96 ## allows to set RhodeCode under a prefix in server.
82 97 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
83 98 ## optionally set prefix like: `prefix = /<your-prefix>`
84 99 [filter:proxy-prefix]
85 100 use = egg:PasteDeploy#prefix
86 101 prefix = /
87 102
88 103 [app:main]
89 104 use = egg:rhodecode-enterprise-ce
90 105
91 106 ## enable proxy prefix middleware, defined above
92 107 #filter-with = proxy-prefix
93 108
94 109 # During development the we want to have the debug toolbar enabled
95 110 pyramid.includes =
96 111 pyramid_debugtoolbar
97 112 rhodecode.utils.debugtoolbar
98 113 rhodecode.lib.middleware.request_wrapper
99 114
100 115 pyramid.reload_templates = true
101 116
102 117 debugtoolbar.hosts = 0.0.0.0/0
103 118 debugtoolbar.exclude_prefixes =
104 119 /css
105 120 /fonts
106 121 /images
107 122 /js
108 123
109 124 ## RHODECODE PLUGINS ##
110 125 rhodecode.includes =
111 126 rhodecode.api
112 127
113 128
114 129 # api prefix url
115 130 rhodecode.api.url = /_admin/api
116 131
117 132
118 133 ## END RHODECODE PLUGINS ##
119 134
120 135 ## encryption key used to encrypt social plugin tokens,
121 136 ## remote_urls with credentials etc, if not set it defaults to
122 137 ## `beaker.session.secret`
123 138 #rhodecode.encrypted_values.secret =
124 139
125 140 ## decryption strict mode (enabled by default). It controls if decryption raises
126 141 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
127 142 #rhodecode.encrypted_values.strict = false
128 143
129 144 ## return gzipped responses from Rhodecode (static files/application)
130 145 gzip_responses = false
131 146
132 147 ## autogenerate javascript routes file on startup
133 148 generate_js_files = false
134 149
135 150 ## Optional Languages
136 151 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
137 152 lang = en
138 153
139 154 ## perform a full repository scan on each server start, this should be
140 155 ## set to false after first startup, to allow faster server restarts.
141 156 startup.import_repos = false
142 157
143 158 ## Uncomment and set this path to use archive download cache.
144 159 ## Once enabled, generated archives will be cached at this location
145 160 ## and served from the cache during subsequent requests for the same archive of
146 161 ## the repository.
147 162 #archive_cache_dir = /tmp/tarballcache
148 163
149 164 ## change this to unique ID for security
150 165 app_instance_uuid = rc-production
151 166
152 167 ## cut off limit for large diffs (size in bytes)
153 168 cut_off_limit_diff = 1024000
154 169 cut_off_limit_file = 256000
155 170
156 171 ## use cache version of scm repo everywhere
157 172 vcs_full_cache = true
158 173
159 174 ## force https in RhodeCode, fixes https redirects, assumes it's always https
160 175 ## Normally this is controlled by proper http flags sent from http server
161 176 force_https = false
162 177
163 178 ## use Strict-Transport-Security headers
164 179 use_htsts = false
165 180
166 181 ## number of commits stats will parse on each iteration
167 182 commit_parse_limit = 25
168 183
169 184 ## git rev filter option, --all is the default filter, if you need to
170 185 ## hide all refs in changelog switch this to --branches --tags
171 186 git_rev_filter = --branches --tags
172 187
173 188 # Set to true if your repos are exposed using the dumb protocol
174 189 git_update_server_info = false
175 190
176 191 ## RSS/ATOM feed options
177 192 rss_cut_off_limit = 256000
178 193 rss_items_per_page = 10
179 194 rss_include_diff = false
180 195
181 196 ## gist URL alias, used to create nicer urls for gist. This should be an
182 197 ## url that does rewrites to _admin/gists/<gistid>.
183 198 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
184 199 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
185 200 gist_alias_url =
186 201
187 202 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
188 203 ## used for access.
189 204 ## Adding ?auth_token = <token> to the url authenticates this request as if it
190 205 ## came from the the logged in user who own this authentication token.
191 206 ##
192 207 ## Syntax is <ControllerClass>:<function_pattern>.
193 208 ## To enable access to raw_files put `FilesController:raw`.
194 209 ## To enable access to patches add `ChangesetController:changeset_patch`.
195 210 ## The list should be "," separated and on a single line.
196 211 ##
197 212 ## Recommended controllers to enable:
198 213 # ChangesetController:changeset_patch,
199 214 # ChangesetController:changeset_raw,
200 215 # FilesController:raw,
201 216 # FilesController:archivefile,
202 217 # GistsController:*,
203 218 api_access_controllers_whitelist =
204 219
205 220 ## default encoding used to convert from and to unicode
206 221 ## can be also a comma separated list of encoding in case of mixed encodings
207 222 default_encoding = UTF-8
208 223
209 224 ## instance-id prefix
210 225 ## a prefix key for this instance used for cache invalidation when running
211 226 ## multiple instances of rhodecode, make sure it's globally unique for
212 227 ## all running rhodecode instances. Leave empty if you don't use it
213 228 instance_id =
214 229
215 230 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
216 231 ## of an authentication plugin also if it is disabled by it's settings.
217 232 ## This could be useful if you are unable to log in to the system due to broken
218 233 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
219 234 ## module to log in again and fix the settings.
220 235 ##
221 236 ## Available builtin plugin IDs (hash is part of the ID):
222 237 ## egg:rhodecode-enterprise-ce#rhodecode
223 238 ## egg:rhodecode-enterprise-ce#pam
224 239 ## egg:rhodecode-enterprise-ce#ldap
225 240 ## egg:rhodecode-enterprise-ce#jasig_cas
226 241 ## egg:rhodecode-enterprise-ce#headers
227 242 ## egg:rhodecode-enterprise-ce#crowd
228 243 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
229 244
230 245 ## alternative return HTTP header for failed authentication. Default HTTP
231 246 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
232 247 ## handling that causing a series of failed authentication calls.
233 248 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
234 249 ## This will be served instead of default 401 on bad authnetication
235 250 auth_ret_code =
236 251
237 252 ## use special detection method when serving auth_ret_code, instead of serving
238 253 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
239 254 ## and then serve auth_ret_code to clients
240 255 auth_ret_code_detection = false
241 256
242 257 ## locking return code. When repository is locked return this HTTP code. 2XX
243 258 ## codes don't break the transactions while 4XX codes do
244 259 lock_ret_code = 423
245 260
246 261 ## allows to change the repository location in settings page
247 262 allow_repo_location_change = true
248 263
249 264 ## allows to setup custom hooks in settings page
250 265 allow_custom_hooks_settings = true
251 266
252 267 ## generated license token, goto license page in RhodeCode settings to obtain
253 268 ## new token
254 269 license_token =
255 270
256 271 ## supervisor connection uri, for managing supervisor and logs.
257 272 supervisor.uri =
258 273 ## supervisord group name/id we only want this RC instance to handle
259 274 supervisor.group_id = dev
260 275
261 276 ## Display extended labs settings
262 277 labs_settings_active = true
263 278
264 279 ####################################
265 280 ### CELERY CONFIG ####
266 281 ####################################
267 282 use_celery = false
268 283 broker.host = localhost
269 284 broker.vhost = rabbitmqhost
270 285 broker.port = 5672
271 286 broker.user = rabbitmq
272 287 broker.password = qweqwe
273 288
274 289 celery.imports = rhodecode.lib.celerylib.tasks
275 290
276 291 celery.result.backend = amqp
277 292 celery.result.dburi = amqp://
278 293 celery.result.serialier = json
279 294
280 295 #celery.send.task.error.emails = true
281 296 #celery.amqp.task.result.expires = 18000
282 297
283 298 celeryd.concurrency = 2
284 299 #celeryd.log.file = celeryd.log
285 300 celeryd.log.level = debug
286 301 celeryd.max.tasks.per.child = 1
287 302
288 303 ## tasks will never be sent to the queue, but executed locally instead.
289 304 celery.always.eager = false
290 305
291 306 ####################################
292 307 ### BEAKER CACHE ####
293 308 ####################################
294 309 # default cache dir for templates. Putting this into a ramdisk
295 310 ## can boost performance, eg. %(here)s/data_ramdisk
296 311 cache_dir = %(here)s/data
297 312
298 313 ## locking and default file storage for Beaker. Putting this into a ramdisk
299 314 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
300 315 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
301 316 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
302 317
303 318 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
304 319
305 320 beaker.cache.super_short_term.type = memory
306 321 beaker.cache.super_short_term.expire = 10
307 322 beaker.cache.super_short_term.key_length = 256
308 323
309 324 beaker.cache.short_term.type = memory
310 325 beaker.cache.short_term.expire = 60
311 326 beaker.cache.short_term.key_length = 256
312 327
313 328 beaker.cache.long_term.type = memory
314 329 beaker.cache.long_term.expire = 36000
315 330 beaker.cache.long_term.key_length = 256
316 331
317 332 beaker.cache.sql_cache_short.type = memory
318 333 beaker.cache.sql_cache_short.expire = 10
319 334 beaker.cache.sql_cache_short.key_length = 256
320 335
321 336 ## default is memory cache, configure only if required
322 337 ## using multi-node or multi-worker setup
323 338 #beaker.cache.auth_plugins.type = ext:database
324 339 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
325 340 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
326 341 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
327 342 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
328 343 #beaker.cache.auth_plugins.sa.pool_size = 10
329 344 #beaker.cache.auth_plugins.sa.max_overflow = 0
330 345
331 346 beaker.cache.repo_cache_long.type = memorylru_base
332 347 beaker.cache.repo_cache_long.max_items = 4096
333 348 beaker.cache.repo_cache_long.expire = 2592000
334 349
335 350 ## default is memorylru_base cache, configure only if required
336 351 ## using multi-node or multi-worker setup
337 352 #beaker.cache.repo_cache_long.type = ext:memcached
338 353 #beaker.cache.repo_cache_long.url = localhost:11211
339 354 #beaker.cache.repo_cache_long.expire = 1209600
340 355 #beaker.cache.repo_cache_long.key_length = 256
341 356
342 357 ####################################
343 358 ### BEAKER SESSION ####
344 359 ####################################
345 360
346 361 ## .session.type is type of storage options for the session, current allowed
347 362 ## types are file, ext:memcached, ext:database, and memory (default).
348 363 beaker.session.type = file
349 364 beaker.session.data_dir = %(here)s/data/sessions/data
350 365
351 366 ## db based session, fast, and allows easy management over logged in users
352 367 #beaker.session.type = ext:database
353 368 #beaker.session.table_name = db_session
354 369 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
355 370 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
356 371 #beaker.session.sa.pool_recycle = 3600
357 372 #beaker.session.sa.echo = false
358 373
359 374 beaker.session.key = rhodecode
360 375 beaker.session.secret = develop-rc-uytcxaz
361 376 beaker.session.lock_dir = %(here)s/data/sessions/lock
362 377
363 378 ## Secure encrypted cookie. Requires AES and AES python libraries
364 379 ## you must disable beaker.session.secret to use this
365 380 #beaker.session.encrypt_key = <key_for_encryption>
366 381 #beaker.session.validate_key = <validation_key>
367 382
368 383 ## sets session as invalid(also logging out user) if it haven not been
369 384 ## accessed for given amount of time in seconds
370 385 beaker.session.timeout = 2592000
371 386 beaker.session.httponly = true
372 387 ## Path to use for the cookie.
373 388 #beaker.session.cookie_path = /<your-prefix>
374 389
375 390 ## uncomment for https secure cookie
376 391 beaker.session.secure = false
377 392
378 393 ## auto save the session to not to use .save()
379 394 beaker.session.auto = false
380 395
381 396 ## default cookie expiration time in seconds, set to `true` to set expire
382 397 ## at browser close
383 398 #beaker.session.cookie_expires = 3600
384 399
385 400 ###################################
386 401 ## SEARCH INDEXING CONFIGURATION ##
387 402 ###################################
388 403 ## Full text search indexer is available in rhodecode-tools under
389 404 ## `rhodecode-tools index` command
390 405
391 406 # WHOOSH Backend, doesn't require additional services to run
392 407 # it works good with few dozen repos
393 408 search.module = rhodecode.lib.index.whoosh
394 409 search.location = %(here)s/data/index
395 410
396 411 ########################################
397 412 ### CHANNELSTREAM CONFIG ####
398 413 ########################################
399 414 ## channelstream enables persistent connections and live notification
400 415 ## in the system. It's also used by the chat system
401 416
402 417 channelstream.enabled = true
403 # location of channelstream server on the backend
418 ## location of channelstream server on the backend
404 419 channelstream.server = 127.0.0.1:9800
405 # location of the channelstream server from outside world
406 channelstream.ws_url = ws://127.0.0.1:9800
420 ## location of the channelstream server from outside world
421 ## most likely this would be an http server special backend URL, that handles
422 ## websocket connections see nginx example for config
423 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
407 424 channelstream.secret = secret
408 425 channelstream.history.location = %(here)s/channelstream_history
409 426
410 427
411 428 ###################################
412 429 ## APPENLIGHT CONFIG ##
413 430 ###################################
414 431
415 432 ## Appenlight is tailored to work with RhodeCode, see
416 433 ## http://appenlight.com for details how to obtain an account
417 434
418 435 ## appenlight integration enabled
419 436 appenlight = false
420 437
421 438 appenlight.server_url = https://api.appenlight.com
422 439 appenlight.api_key = YOUR_API_KEY
423 440 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
424 441
425 442 # used for JS client
426 443 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
427 444
428 445 ## TWEAK AMOUNT OF INFO SENT HERE
429 446
430 447 ## enables 404 error logging (default False)
431 448 appenlight.report_404 = false
432 449
433 450 ## time in seconds after request is considered being slow (default 1)
434 451 appenlight.slow_request_time = 1
435 452
436 453 ## record slow requests in application
437 454 ## (needs to be enabled for slow datastore recording and time tracking)
438 455 appenlight.slow_requests = true
439 456
440 457 ## enable hooking to application loggers
441 458 appenlight.logging = true
442 459
443 460 ## minimum log level for log capture
444 461 appenlight.logging.level = WARNING
445 462
446 463 ## send logs only from erroneous/slow requests
447 464 ## (saves API quota for intensive logging)
448 465 appenlight.logging_on_error = false
449 466
450 467 ## list of additonal keywords that should be grabbed from environ object
451 468 ## can be string with comma separated list of words in lowercase
452 469 ## (by default client will always send following info:
453 470 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
454 471 ## start with HTTP* this list be extended with additional keywords here
455 472 appenlight.environ_keys_whitelist =
456 473
457 474 ## list of keywords that should be blanked from request object
458 475 ## can be string with comma separated list of words in lowercase
459 476 ## (by default client will always blank keys that contain following words
460 477 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
461 478 ## this list be extended with additional keywords set here
462 479 appenlight.request_keys_blacklist =
463 480
464 481 ## list of namespaces that should be ignores when gathering log entries
465 482 ## can be string with comma separated list of namespaces
466 483 ## (by default the client ignores own entries: appenlight_client.client)
467 484 appenlight.log_namespace_blacklist =
468 485
469 486
470 487 ################################################################################
471 488 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
472 489 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
473 490 ## execute malicious code after an exception is raised. ##
474 491 ################################################################################
475 492 #set debug = false
476 493
477 494
478 495 ##############
479 496 ## STYLING ##
480 497 ##############
481 498 debug_style = true
482 499
483 500 #########################################################
484 501 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
485 502 #########################################################
486 503 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
487 504 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
488 505 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
489 506 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
490 507
491 508 # see sqlalchemy docs for other advanced settings
492 509
493 510 ## print the sql statements to output
494 511 sqlalchemy.db1.echo = false
495 512 ## recycle the connections after this ammount of seconds
496 513 sqlalchemy.db1.pool_recycle = 3600
497 514 sqlalchemy.db1.convert_unicode = true
498 515
499 516 ## the number of connections to keep open inside the connection pool.
500 517 ## 0 indicates no limit
501 518 #sqlalchemy.db1.pool_size = 5
502 519
503 520 ## the number of connections to allow in connection pool "overflow", that is
504 521 ## connections that can be opened above and beyond the pool_size setting,
505 522 ## which defaults to five.
506 523 #sqlalchemy.db1.max_overflow = 10
507 524
508 525
509 526 ##################
510 527 ### VCS CONFIG ###
511 528 ##################
512 529 vcs.server.enable = true
513 530 vcs.server = localhost:9900
514 531
515 532 ## Web server connectivity protocol, responsible for web based VCS operatations
516 533 ## Available protocols are:
517 534 ## `pyro4` - using pyro4 server
518 535 ## `http` - using http-rpc backend
519 536 vcs.server.protocol = http
520 537
521 538 ## Push/Pull operations protocol, available options are:
522 539 ## `pyro4` - using pyro4 server
523 540 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
524 541 ## `vcsserver.scm_app` - internal app (EE only)
525 542 vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
526 543
527 544 ## Push/Pull operations hooks protocol, available options are:
528 545 ## `pyro4` - using pyro4 server
529 546 ## `http` - using http-rpc backend
530 547 vcs.hooks.protocol = http
531 548
532 549 vcs.server.log_level = debug
533 550 ## Start VCSServer with this instance as a subprocess, usefull for development
534 551 vcs.start_server = true
535 552
536 553 ## List of enabled VCS backends, available options are:
537 554 ## `hg` - mercurial
538 555 ## `git` - git
539 556 ## `svn` - subversion
540 557 vcs.backends = hg, git, svn
541 558
542 559 vcs.connection_timeout = 3600
543 560 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
544 561 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
545 562 #vcs.svn.compatible_version = pre-1.8-compatible
546 563
547 564
548 ##############################################
565 ############################################################
549 566 ### Subversion proxy support (mod_dav_svn) ###
550 ##############################################
567 ### Maps RhodeCode repo groups into SVN paths for Apache ###
568 ############################################################
551 569 ## Enable or disable the config file generation.
552 570 svn.proxy.generate_config = false
553 571 ## Generate config file with `SVNListParentPath` set to `On`.
554 572 svn.proxy.list_parent_path = true
555 573 ## Set location and file name of generated config file.
556 574 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
557 575 ## File system path to the directory containing the repositories served by
558 576 ## RhodeCode.
559 577 svn.proxy.parent_path_root = /path/to/repo_store
560 578 ## Used as a prefix to the <Location> block in the generated config file. In
561 579 ## most cases it should be set to `/`.
562 580 svn.proxy.location_root = /
563 581
564 582
565 583 ################################
566 584 ### LOGGING CONFIGURATION ####
567 585 ################################
568 586 [loggers]
569 587 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
570 588
571 589 [handlers]
572 590 keys = console, console_sql
573 591
574 592 [formatters]
575 593 keys = generic, color_formatter, color_formatter_sql
576 594
577 595 #############
578 596 ## LOGGERS ##
579 597 #############
580 598 [logger_root]
581 599 level = NOTSET
582 600 handlers = console
583 601
584 602 [logger_routes]
585 603 level = DEBUG
586 604 handlers =
587 605 qualname = routes.middleware
588 606 ## "level = DEBUG" logs the route matched and routing variables.
589 607 propagate = 1
590 608
591 609 [logger_beaker]
592 610 level = DEBUG
593 611 handlers =
594 612 qualname = beaker.container
595 613 propagate = 1
596 614
597 615 [logger_pyro4]
598 616 level = DEBUG
599 617 handlers =
600 618 qualname = Pyro4
601 619 propagate = 1
602 620
603 621 [logger_templates]
604 622 level = INFO
605 623 handlers =
606 624 qualname = pylons.templating
607 625 propagate = 1
608 626
609 627 [logger_rhodecode]
610 628 level = DEBUG
611 629 handlers =
612 630 qualname = rhodecode
613 631 propagate = 1
614 632
615 633 [logger_sqlalchemy]
616 634 level = INFO
617 635 handlers = console_sql
618 636 qualname = sqlalchemy.engine
619 637 propagate = 0
620 638
621 639 ##############
622 640 ## HANDLERS ##
623 641 ##############
624 642
625 643 [handler_console]
626 644 class = StreamHandler
627 645 args = (sys.stderr,)
628 646 level = DEBUG
629 647 formatter = color_formatter
630 648
631 649 [handler_console_sql]
632 650 class = StreamHandler
633 651 args = (sys.stderr,)
634 652 level = DEBUG
635 653 formatter = color_formatter_sql
636 654
637 655 ################
638 656 ## FORMATTERS ##
639 657 ################
640 658
641 659 [formatter_generic]
642 660 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
643 661 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
644 662 datefmt = %Y-%m-%d %H:%M:%S
645 663
646 664 [formatter_color_formatter]
647 665 class = rhodecode.lib.logging_formatter.ColorFormatter
648 666 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
649 667 datefmt = %Y-%m-%d %H:%M:%S
650 668
651 669 [formatter_color_formatter_sql]
652 670 class = rhodecode.lib.logging_formatter.ColorFormatterSql
653 671 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
654 672 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,623 +1,641 b''
1 ################################################################################
1
2
2 3 ################################################################################
3 # RhodeCode Enterprise - configuration file #
4 # Built-in functions and variables #
4 ## RHODECODE ENTERPRISE CONFIGURATION ##
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 # #
7 6 ################################################################################
8 7
9 8 [DEFAULT]
10 9 debug = true
10
11 11 ################################################################################
12 ## EMAIL CONFIGURATION ##
12 13 ## Uncomment and replace with the email address which should receive ##
13 14 ## any error reports after an application crash ##
14 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 16 ################################################################################
16 #email_to = admin@localhost
17 #error_email_from = paste_error@localhost
17
18 ## prefix all emails subjects with given prefix, helps filtering out emails
19 #email_prefix = [RhodeCode]
20
21 ## email FROM address all mails will be sent
18 22 #app_email_from = rhodecode-noreply@localhost
23
24 ## Uncomment and replace with the address which should receive any error report
25 ## note: using appenlight for error handling doesn't need this to be uncommented
26 #email_to = admin@localhost
27
28 ## in case of Application errors, sent an error email form
29 #error_email_from = rhodecode_error@localhost
30
31 ## additional error message to be send in case of server crash
19 32 #error_message =
20 #email_prefix = [RhodeCode]
33
21 34
22 35 #smtp_server = mail.server.com
23 36 #smtp_username =
24 37 #smtp_password =
25 38 #smtp_port =
26 39 #smtp_use_tls = false
27 40 #smtp_use_ssl = true
28 41 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 42 #smtp_auth =
30 43
31 44 [server:main]
32 45 ## COMMON ##
33 46 host = 127.0.0.1
34 47 port = 5000
35 48
36 49 ##################################
37 50 ## WAITRESS WSGI SERVER ##
38 51 ## Recommended for Development ##
39 52 ##################################
53
40 54 #use = egg:waitress#main
41 55 ## number of worker threads
42 56 #threads = 5
43 57 ## MAX BODY SIZE 100GB
44 58 #max_request_body_size = 107374182400
45 59 ## Use poll instead of select, fixes file descriptors limits problems.
46 60 ## May not work on old windows systems.
47 61 #asyncore_use_poll = true
48 62
49 63
50 64 ##########################
51 65 ## GUNICORN WSGI SERVER ##
52 66 ##########################
53 67 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
68
54 69 use = egg:gunicorn#main
55 70 ## Sets the number of process workers. You must set `instance_id = *`
56 71 ## when this option is set to more than one worker, recommended
57 72 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 73 ## The `instance_id = *` must be set in the [app:main] section below
59 74 workers = 2
60 75 ## number of threads for each of the worker, must be set to 1 for gevent
61 76 ## generally recommened to be at 1
62 77 #threads = 1
63 78 ## process name
64 79 proc_name = rhodecode
65 80 ## type of worker class, one of sync, gevent
66 81 ## recommended for bigger setup is using of of other than sync one
67 82 worker_class = sync
68 83 ## The maximum number of simultaneous clients. Valid only for Gevent
69 84 #worker_connections = 10
70 85 ## max number of requests that worker will handle before being gracefully
71 86 ## restarted, could prevent memory leaks
72 87 max_requests = 1000
73 88 max_requests_jitter = 30
74 89 ## amount of time a worker can spend with handling a request before it
75 90 ## gets killed and restarted. Set to 6hrs
76 91 timeout = 21600
77 92
78 93
79 94 ## prefix middleware for RhodeCode, disables force_https flag.
80 95 ## recommended when using proxy setup.
81 96 ## allows to set RhodeCode under a prefix in server.
82 97 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
83 98 ## optionally set prefix like: `prefix = /<your-prefix>`
84 99 [filter:proxy-prefix]
85 100 use = egg:PasteDeploy#prefix
86 101 prefix = /
87 102
88 103 [app:main]
89 104 use = egg:rhodecode-enterprise-ce
90 105
91 106 ## enable proxy prefix middleware, defined above
92 107 #filter-with = proxy-prefix
93 108
94 109 ## encryption key used to encrypt social plugin tokens,
95 110 ## remote_urls with credentials etc, if not set it defaults to
96 111 ## `beaker.session.secret`
97 112 #rhodecode.encrypted_values.secret =
98 113
99 114 ## decryption strict mode (enabled by default). It controls if decryption raises
100 115 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
101 116 #rhodecode.encrypted_values.strict = false
102 117
103 118 ## return gzipped responses from Rhodecode (static files/application)
104 119 gzip_responses = false
105 120
106 121 ## autogenerate javascript routes file on startup
107 122 generate_js_files = false
108 123
109 124 ## Optional Languages
110 125 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
111 126 lang = en
112 127
113 128 ## perform a full repository scan on each server start, this should be
114 129 ## set to false after first startup, to allow faster server restarts.
115 130 startup.import_repos = false
116 131
117 132 ## Uncomment and set this path to use archive download cache.
118 133 ## Once enabled, generated archives will be cached at this location
119 134 ## and served from the cache during subsequent requests for the same archive of
120 135 ## the repository.
121 136 #archive_cache_dir = /tmp/tarballcache
122 137
123 138 ## change this to unique ID for security
124 139 app_instance_uuid = rc-production
125 140
126 141 ## cut off limit for large diffs (size in bytes)
127 142 cut_off_limit_diff = 1024000
128 143 cut_off_limit_file = 256000
129 144
130 145 ## use cache version of scm repo everywhere
131 146 vcs_full_cache = true
132 147
133 148 ## force https in RhodeCode, fixes https redirects, assumes it's always https
134 149 ## Normally this is controlled by proper http flags sent from http server
135 150 force_https = false
136 151
137 152 ## use Strict-Transport-Security headers
138 153 use_htsts = false
139 154
140 155 ## number of commits stats will parse on each iteration
141 156 commit_parse_limit = 25
142 157
143 158 ## git rev filter option, --all is the default filter, if you need to
144 159 ## hide all refs in changelog switch this to --branches --tags
145 160 git_rev_filter = --branches --tags
146 161
147 162 # Set to true if your repos are exposed using the dumb protocol
148 163 git_update_server_info = false
149 164
150 165 ## RSS/ATOM feed options
151 166 rss_cut_off_limit = 256000
152 167 rss_items_per_page = 10
153 168 rss_include_diff = false
154 169
155 170 ## gist URL alias, used to create nicer urls for gist. This should be an
156 171 ## url that does rewrites to _admin/gists/<gistid>.
157 172 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
158 173 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
159 174 gist_alias_url =
160 175
161 176 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
162 177 ## used for access.
163 178 ## Adding ?auth_token = <token> to the url authenticates this request as if it
164 179 ## came from the the logged in user who own this authentication token.
165 180 ##
166 181 ## Syntax is <ControllerClass>:<function_pattern>.
167 182 ## To enable access to raw_files put `FilesController:raw`.
168 183 ## To enable access to patches add `ChangesetController:changeset_patch`.
169 184 ## The list should be "," separated and on a single line.
170 185 ##
171 186 ## Recommended controllers to enable:
172 187 # ChangesetController:changeset_patch,
173 188 # ChangesetController:changeset_raw,
174 189 # FilesController:raw,
175 190 # FilesController:archivefile,
176 191 # GistsController:*,
177 192 api_access_controllers_whitelist =
178 193
179 194 ## default encoding used to convert from and to unicode
180 195 ## can be also a comma separated list of encoding in case of mixed encodings
181 196 default_encoding = UTF-8
182 197
183 198 ## instance-id prefix
184 199 ## a prefix key for this instance used for cache invalidation when running
185 200 ## multiple instances of rhodecode, make sure it's globally unique for
186 201 ## all running rhodecode instances. Leave empty if you don't use it
187 202 instance_id =
188 203
189 204 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
190 205 ## of an authentication plugin also if it is disabled by it's settings.
191 206 ## This could be useful if you are unable to log in to the system due to broken
192 207 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
193 208 ## module to log in again and fix the settings.
194 209 ##
195 210 ## Available builtin plugin IDs (hash is part of the ID):
196 211 ## egg:rhodecode-enterprise-ce#rhodecode
197 212 ## egg:rhodecode-enterprise-ce#pam
198 213 ## egg:rhodecode-enterprise-ce#ldap
199 214 ## egg:rhodecode-enterprise-ce#jasig_cas
200 215 ## egg:rhodecode-enterprise-ce#headers
201 216 ## egg:rhodecode-enterprise-ce#crowd
202 217 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
203 218
204 219 ## alternative return HTTP header for failed authentication. Default HTTP
205 220 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
206 221 ## handling that causing a series of failed authentication calls.
207 222 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
208 223 ## This will be served instead of default 401 on bad authnetication
209 224 auth_ret_code =
210 225
211 226 ## use special detection method when serving auth_ret_code, instead of serving
212 227 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
213 228 ## and then serve auth_ret_code to clients
214 229 auth_ret_code_detection = false
215 230
216 231 ## locking return code. When repository is locked return this HTTP code. 2XX
217 232 ## codes don't break the transactions while 4XX codes do
218 233 lock_ret_code = 423
219 234
220 235 ## allows to change the repository location in settings page
221 236 allow_repo_location_change = true
222 237
223 238 ## allows to setup custom hooks in settings page
224 239 allow_custom_hooks_settings = true
225 240
226 241 ## generated license token, goto license page in RhodeCode settings to obtain
227 242 ## new token
228 243 license_token =
229 244
230 245 ## supervisor connection uri, for managing supervisor and logs.
231 246 supervisor.uri =
232 247 ## supervisord group name/id we only want this RC instance to handle
233 248 supervisor.group_id = prod
234 249
235 250 ## Display extended labs settings
236 251 labs_settings_active = true
237 252
238 253 ####################################
239 254 ### CELERY CONFIG ####
240 255 ####################################
241 256 use_celery = false
242 257 broker.host = localhost
243 258 broker.vhost = rabbitmqhost
244 259 broker.port = 5672
245 260 broker.user = rabbitmq
246 261 broker.password = qweqwe
247 262
248 263 celery.imports = rhodecode.lib.celerylib.tasks
249 264
250 265 celery.result.backend = amqp
251 266 celery.result.dburi = amqp://
252 267 celery.result.serialier = json
253 268
254 269 #celery.send.task.error.emails = true
255 270 #celery.amqp.task.result.expires = 18000
256 271
257 272 celeryd.concurrency = 2
258 273 #celeryd.log.file = celeryd.log
259 274 celeryd.log.level = debug
260 275 celeryd.max.tasks.per.child = 1
261 276
262 277 ## tasks will never be sent to the queue, but executed locally instead.
263 278 celery.always.eager = false
264 279
265 280 ####################################
266 281 ### BEAKER CACHE ####
267 282 ####################################
268 283 # default cache dir for templates. Putting this into a ramdisk
269 284 ## can boost performance, eg. %(here)s/data_ramdisk
270 285 cache_dir = %(here)s/data
271 286
272 287 ## locking and default file storage for Beaker. Putting this into a ramdisk
273 288 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
274 289 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
275 290 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
276 291
277 292 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
278 293
279 294 beaker.cache.super_short_term.type = memory
280 295 beaker.cache.super_short_term.expire = 10
281 296 beaker.cache.super_short_term.key_length = 256
282 297
283 298 beaker.cache.short_term.type = memory
284 299 beaker.cache.short_term.expire = 60
285 300 beaker.cache.short_term.key_length = 256
286 301
287 302 beaker.cache.long_term.type = memory
288 303 beaker.cache.long_term.expire = 36000
289 304 beaker.cache.long_term.key_length = 256
290 305
291 306 beaker.cache.sql_cache_short.type = memory
292 307 beaker.cache.sql_cache_short.expire = 10
293 308 beaker.cache.sql_cache_short.key_length = 256
294 309
295 310 ## default is memory cache, configure only if required
296 311 ## using multi-node or multi-worker setup
297 312 #beaker.cache.auth_plugins.type = ext:database
298 313 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
299 314 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
300 315 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
301 316 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
302 317 #beaker.cache.auth_plugins.sa.pool_size = 10
303 318 #beaker.cache.auth_plugins.sa.max_overflow = 0
304 319
305 320 beaker.cache.repo_cache_long.type = memorylru_base
306 321 beaker.cache.repo_cache_long.max_items = 4096
307 322 beaker.cache.repo_cache_long.expire = 2592000
308 323
309 324 ## default is memorylru_base cache, configure only if required
310 325 ## using multi-node or multi-worker setup
311 326 #beaker.cache.repo_cache_long.type = ext:memcached
312 327 #beaker.cache.repo_cache_long.url = localhost:11211
313 328 #beaker.cache.repo_cache_long.expire = 1209600
314 329 #beaker.cache.repo_cache_long.key_length = 256
315 330
316 331 ####################################
317 332 ### BEAKER SESSION ####
318 333 ####################################
319 334
320 335 ## .session.type is type of storage options for the session, current allowed
321 336 ## types are file, ext:memcached, ext:database, and memory (default).
322 337 beaker.session.type = file
323 338 beaker.session.data_dir = %(here)s/data/sessions/data
324 339
325 340 ## db based session, fast, and allows easy management over logged in users
326 341 #beaker.session.type = ext:database
327 342 #beaker.session.table_name = db_session
328 343 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
329 344 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
330 345 #beaker.session.sa.pool_recycle = 3600
331 346 #beaker.session.sa.echo = false
332 347
333 348 beaker.session.key = rhodecode
334 349 beaker.session.secret = production-rc-uytcxaz
335 350 beaker.session.lock_dir = %(here)s/data/sessions/lock
336 351
337 352 ## Secure encrypted cookie. Requires AES and AES python libraries
338 353 ## you must disable beaker.session.secret to use this
339 354 #beaker.session.encrypt_key = <key_for_encryption>
340 355 #beaker.session.validate_key = <validation_key>
341 356
342 357 ## sets session as invalid(also logging out user) if it haven not been
343 358 ## accessed for given amount of time in seconds
344 359 beaker.session.timeout = 2592000
345 360 beaker.session.httponly = true
346 361 ## Path to use for the cookie.
347 362 #beaker.session.cookie_path = /<your-prefix>
348 363
349 364 ## uncomment for https secure cookie
350 365 beaker.session.secure = false
351 366
352 367 ## auto save the session to not to use .save()
353 368 beaker.session.auto = false
354 369
355 370 ## default cookie expiration time in seconds, set to `true` to set expire
356 371 ## at browser close
357 372 #beaker.session.cookie_expires = 3600
358 373
359 374 ###################################
360 375 ## SEARCH INDEXING CONFIGURATION ##
361 376 ###################################
362 377 ## Full text search indexer is available in rhodecode-tools under
363 378 ## `rhodecode-tools index` command
364 379
365 380 # WHOOSH Backend, doesn't require additional services to run
366 381 # it works good with few dozen repos
367 382 search.module = rhodecode.lib.index.whoosh
368 383 search.location = %(here)s/data/index
369 384
370 385 ########################################
371 386 ### CHANNELSTREAM CONFIG ####
372 387 ########################################
373 388 ## channelstream enables persistent connections and live notification
374 389 ## in the system. It's also used by the chat system
375 390
376 391 channelstream.enabled = true
377 # location of channelstream server on the backend
392 ## location of channelstream server on the backend
378 393 channelstream.server = 127.0.0.1:9800
379 # location of the channelstream server from outside world
380 channelstream.ws_url = ws://127.0.0.1:9800
394 ## location of the channelstream server from outside world
395 ## most likely this would be an http server special backend URL, that handles
396 ## websocket connections see nginx example for config
397 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
381 398 channelstream.secret = secret
382 399 channelstream.history.location = %(here)s/channelstream_history
383 400
384 401
385 402 ###################################
386 403 ## APPENLIGHT CONFIG ##
387 404 ###################################
388 405
389 406 ## Appenlight is tailored to work with RhodeCode, see
390 407 ## http://appenlight.com for details how to obtain an account
391 408
392 409 ## appenlight integration enabled
393 410 appenlight = false
394 411
395 412 appenlight.server_url = https://api.appenlight.com
396 413 appenlight.api_key = YOUR_API_KEY
397 414 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
398 415
399 416 # used for JS client
400 417 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
401 418
402 419 ## TWEAK AMOUNT OF INFO SENT HERE
403 420
404 421 ## enables 404 error logging (default False)
405 422 appenlight.report_404 = false
406 423
407 424 ## time in seconds after request is considered being slow (default 1)
408 425 appenlight.slow_request_time = 1
409 426
410 427 ## record slow requests in application
411 428 ## (needs to be enabled for slow datastore recording and time tracking)
412 429 appenlight.slow_requests = true
413 430
414 431 ## enable hooking to application loggers
415 432 appenlight.logging = true
416 433
417 434 ## minimum log level for log capture
418 435 appenlight.logging.level = WARNING
419 436
420 437 ## send logs only from erroneous/slow requests
421 438 ## (saves API quota for intensive logging)
422 439 appenlight.logging_on_error = false
423 440
424 441 ## list of additonal keywords that should be grabbed from environ object
425 442 ## can be string with comma separated list of words in lowercase
426 443 ## (by default client will always send following info:
427 444 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
428 445 ## start with HTTP* this list be extended with additional keywords here
429 446 appenlight.environ_keys_whitelist =
430 447
431 448 ## list of keywords that should be blanked from request object
432 449 ## can be string with comma separated list of words in lowercase
433 450 ## (by default client will always blank keys that contain following words
434 451 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
435 452 ## this list be extended with additional keywords set here
436 453 appenlight.request_keys_blacklist =
437 454
438 455 ## list of namespaces that should be ignores when gathering log entries
439 456 ## can be string with comma separated list of namespaces
440 457 ## (by default the client ignores own entries: appenlight_client.client)
441 458 appenlight.log_namespace_blacklist =
442 459
443 460
444 461 ################################################################################
445 462 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
446 463 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
447 464 ## execute malicious code after an exception is raised. ##
448 465 ################################################################################
449 466 set debug = false
450 467
451 468
452 469 #########################################################
453 470 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
454 471 #########################################################
455 472 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
456 473 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
457 474 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
458 475 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
459 476
460 477 # see sqlalchemy docs for other advanced settings
461 478
462 479 ## print the sql statements to output
463 480 sqlalchemy.db1.echo = false
464 481 ## recycle the connections after this ammount of seconds
465 482 sqlalchemy.db1.pool_recycle = 3600
466 483 sqlalchemy.db1.convert_unicode = true
467 484
468 485 ## the number of connections to keep open inside the connection pool.
469 486 ## 0 indicates no limit
470 487 #sqlalchemy.db1.pool_size = 5
471 488
472 489 ## the number of connections to allow in connection pool "overflow", that is
473 490 ## connections that can be opened above and beyond the pool_size setting,
474 491 ## which defaults to five.
475 492 #sqlalchemy.db1.max_overflow = 10
476 493
477 494
478 495 ##################
479 496 ### VCS CONFIG ###
480 497 ##################
481 498 vcs.server.enable = true
482 499 vcs.server = localhost:9900
483 500
484 501 ## Web server connectivity protocol, responsible for web based VCS operatations
485 502 ## Available protocols are:
486 503 ## `pyro4` - using pyro4 server
487 504 ## `http` - using http-rpc backend
488 505 #vcs.server.protocol = http
489 506
490 507 ## Push/Pull operations protocol, available options are:
491 508 ## `pyro4` - using pyro4 server
492 509 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
493 510 ## `vcsserver.scm_app` - internal app (EE only)
494 511 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
495 512
496 513 ## Push/Pull operations hooks protocol, available options are:
497 514 ## `pyro4` - using pyro4 server
498 515 ## `http` - using http-rpc backend
499 516 #vcs.hooks.protocol = http
500 517
501 518 vcs.server.log_level = info
502 519 ## Start VCSServer with this instance as a subprocess, usefull for development
503 520 vcs.start_server = false
504 521
505 522 ## List of enabled VCS backends, available options are:
506 523 ## `hg` - mercurial
507 524 ## `git` - git
508 525 ## `svn` - subversion
509 526 vcs.backends = hg, git, svn
510 527
511 528 vcs.connection_timeout = 3600
512 529 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
513 530 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
514 531 #vcs.svn.compatible_version = pre-1.8-compatible
515 532
516 533
517 ##############################################
534 ############################################################
518 535 ### Subversion proxy support (mod_dav_svn) ###
519 ##############################################
536 ### Maps RhodeCode repo groups into SVN paths for Apache ###
537 ############################################################
520 538 ## Enable or disable the config file generation.
521 539 svn.proxy.generate_config = false
522 540 ## Generate config file with `SVNListParentPath` set to `On`.
523 541 svn.proxy.list_parent_path = true
524 542 ## Set location and file name of generated config file.
525 543 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
526 544 ## File system path to the directory containing the repositories served by
527 545 ## RhodeCode.
528 546 svn.proxy.parent_path_root = /path/to/repo_store
529 547 ## Used as a prefix to the <Location> block in the generated config file. In
530 548 ## most cases it should be set to `/`.
531 549 svn.proxy.location_root = /
532 550
533 551
534 552 ################################
535 553 ### LOGGING CONFIGURATION ####
536 554 ################################
537 555 [loggers]
538 556 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
539 557
540 558 [handlers]
541 559 keys = console, console_sql
542 560
543 561 [formatters]
544 562 keys = generic, color_formatter, color_formatter_sql
545 563
546 564 #############
547 565 ## LOGGERS ##
548 566 #############
549 567 [logger_root]
550 568 level = NOTSET
551 569 handlers = console
552 570
553 571 [logger_routes]
554 572 level = DEBUG
555 573 handlers =
556 574 qualname = routes.middleware
557 575 ## "level = DEBUG" logs the route matched and routing variables.
558 576 propagate = 1
559 577
560 578 [logger_beaker]
561 579 level = DEBUG
562 580 handlers =
563 581 qualname = beaker.container
564 582 propagate = 1
565 583
566 584 [logger_pyro4]
567 585 level = DEBUG
568 586 handlers =
569 587 qualname = Pyro4
570 588 propagate = 1
571 589
572 590 [logger_templates]
573 591 level = INFO
574 592 handlers =
575 593 qualname = pylons.templating
576 594 propagate = 1
577 595
578 596 [logger_rhodecode]
579 597 level = DEBUG
580 598 handlers =
581 599 qualname = rhodecode
582 600 propagate = 1
583 601
584 602 [logger_sqlalchemy]
585 603 level = INFO
586 604 handlers = console_sql
587 605 qualname = sqlalchemy.engine
588 606 propagate = 0
589 607
590 608 ##############
591 609 ## HANDLERS ##
592 610 ##############
593 611
594 612 [handler_console]
595 613 class = StreamHandler
596 614 args = (sys.stderr,)
597 615 level = INFO
598 616 formatter = generic
599 617
600 618 [handler_console_sql]
601 619 class = StreamHandler
602 620 args = (sys.stderr,)
603 621 level = WARN
604 622 formatter = generic
605 623
606 624 ################
607 625 ## FORMATTERS ##
608 626 ################
609 627
610 628 [formatter_generic]
611 629 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
612 630 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
613 631 datefmt = %Y-%m-%d %H:%M:%S
614 632
615 633 [formatter_color_formatter]
616 634 class = rhodecode.lib.logging_formatter.ColorFormatter
617 635 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
618 636 datefmt = %Y-%m-%d %H:%M:%S
619 637
620 638 [formatter_color_formatter_sql]
621 639 class = rhodecode.lib.logging_formatter.ColorFormatterSql
622 640 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
623 641 datefmt = %Y-%m-%d %H:%M:%S
General Comments 0
You need to be logged in to leave comments. Login now