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