##// END OF EJS Templates
merged dev into stable
marcink -
r3965:5aa571d5 merge default
parent child Browse files
Show More
@@ -1,511 +1,514 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode - Pylons environment configuration #
4 4 # #
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 pdebug = false
11 11 ################################################################################
12 12 ## Uncomment and replace with the address which should receive ##
13 13 ## any error reports after application crash ##
14 14 ## Additionally those settings will be used by RhodeCode mailing system ##
15 15 ################################################################################
16 16 #email_to = admin@localhost
17 17 #error_email_from = paste_error@localhost
18 18 #app_email_from = rhodecode-noreply@localhost
19 19 #error_message =
20 20 #email_prefix = [RhodeCode]
21 21
22 22 #smtp_server = mail.server.com
23 23 #smtp_username =
24 24 #smtp_password =
25 25 #smtp_port =
26 26 #smtp_use_tls = false
27 27 #smtp_use_ssl = true
28 28 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 29 #smtp_auth =
30 30
31 31 [server:main]
32 32 ## PASTE ##
33 33 #use = egg:Paste#http
34 34 ## nr of worker threads to spawn
35 35 #threadpool_workers = 5
36 36 ## max request before thread respawn
37 37 #threadpool_max_requests = 10
38 38 ## option to use threads of process
39 39 #use_threadpool = true
40 40
41 41 ## WAITRESS ##
42 42 use = egg:waitress#main
43 43 ## number of worker threads
44 44 threads = 5
45 45 ## MAX BODY SIZE 100GB
46 46 max_request_body_size = 107374182400
47 47 ## use poll instead of select, fixes fd limits, may not work on old
48 48 ## windows systems.
49 49 #asyncore_use_poll = True
50 50
51 51 ## GUNICORN ##
52 52 #use = egg:gunicorn#main
53 53 ## number of process workers. You must set `instance_id = *` when this option
54 54 ## is set to more than one worker
55 55 #workers = 1
56 56 ## process name
57 57 #proc_name = rhodecode
58 58 ## type of worker class, one of sync, eventlet, gevent, tornado
59 59 ## recommended for bigger setup is using of of other than sync one
60 60 #worker_class = sync
61 61 #max_requests = 5
62 ## ammount of time a worker can handle request before it get's killed and
63 ## restarted
64 #timeout = 3600
62 65
63 66 ## COMMON ##
64 67 host = 0.0.0.0
65 68 port = 5000
66 69
67 70 ## prefix middleware for rc
68 71 #[filter:proxy-prefix]
69 72 #use = egg:PasteDeploy#prefix
70 73 #prefix = /<your-prefix>
71 74
72 75 [app:main]
73 76 use = egg:rhodecode
74 77 ## enable proxy prefix middleware
75 78 #filter-with = proxy-prefix
76 79
77 80 full_stack = true
78 81 static_files = true
79 82 ## Optional Languages
80 83 ## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
81 84 lang = en
82 85 cache_dir = %(here)s/data
83 86 index_dir = %(here)s/data/index
84 87
85 88 ## perform a full repository scan on each server start, this should be
86 89 ## set to false after first startup, to allow faster server restarts.
87 90 initial_repo_scan = true
88 91
89 92 ## uncomment and set this path to use archive download cache
90 93 #archive_cache_dir = /tmp/tarballcache
91 94
92 95 ## change this to unique ID for security
93 96 app_instance_uuid = rc-production
94 97
95 98 ## cut off limit for large diffs (size in bytes)
96 99 cut_off_limit = 256000
97 100
98 101 ## use cache version of scm repo everywhere
99 102 vcs_full_cache = true
100 103
101 104 ## force https in RhodeCode, fixes https redirects, assumes it's always https
102 105 force_https = false
103 106
104 107 ## use Strict-Transport-Security headers
105 108 use_htsts = false
106 109
107 110 ## number of commits stats will parse on each iteration
108 111 commit_parse_limit = 25
109 112
110 113 ## use gravatar service to display avatars
111 114 use_gravatar = true
112 115
113 116 ## path to git executable
114 117 git_path = git
115 118
116 119 ## git rev filter option, --all is the default filter, if you need to
117 120 ## hide all refs in changelog switch this to --branches --tags
118 121 git_rev_filter=--all
119 122
120 123 ## RSS feed options
121 124 rss_cut_off_limit = 256000
122 125 rss_items_per_page = 10
123 126 rss_include_diff = false
124 127
125 128 ## options for showing and identifying changesets
126 129 show_sha_length = 12
127 130 show_revision_number = true
128 131
129 132 ## gist URL alias, used to create nicer urls for gist. This should be an
130 133 ## url that does rewrites to _admin/gists/<gistid>.
131 134 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
132 135 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
133 136 gist_alias_url =
134 137
135 138 ## white list of API enabled controllers. This allows to add list of
136 139 ## controllers to which access will be enabled by api_key. eg: to enable
137 140 ## api access to raw_files put `FilesController:raw`, to enable access to patches
138 141 ## add `ChangesetController:changeset_patch`. This list should be "," separated
139 142 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
140 143 api_access_controllers_whitelist =
141 144
142 145 ## alternative_gravatar_url allows you to use your own avatar server application
143 146 ## the following parts of the URL will be replaced
144 147 ## {email} user email
145 148 ## {md5email} md5 hash of the user email (like at gravatar.com)
146 149 ## {size} size of the image that is expected from the server application
147 150 ## {scheme} http/https from RhodeCode server
148 151 ## {netloc} network location from RhodeCode server
149 152 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
150 153 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
151 154
152 155
153 156 ## container auth options
154 157 container_auth_enabled = false
155 158 proxypass_auth_enabled = false
156 159
157 160 ## default encoding used to convert from and to unicode
158 161 ## can be also a comma seperated list of encoding in case of mixed encodings
159 162 default_encoding = utf8
160 163
161 164 ## overwrite schema of clone url
162 165 ## available vars:
163 166 ## scheme - http/https
164 167 ## user - current user
165 168 ## pass - password
166 169 ## netloc - network location
167 170 ## path - usually repo_name
168 171
169 172 #clone_uri = {scheme}://{user}{pass}{netloc}{path}
170 173
171 174 ## issue tracking mapping for commits messages
172 175 ## comment out issue_pat, issue_server, issue_prefix to enable
173 176
174 177 ## pattern to get the issues from commit messages
175 178 ## default one used here is #<numbers> with a regex passive group for `#`
176 179 ## {id} will be all groups matched from this pattern
177 180
178 181 issue_pat = (?:\s*#)(\d+)
179 182
180 183 ## server url to the issue, each {id} will be replaced with match
181 184 ## fetched from the regex and {repo} is replaced with full repository name
182 185 ## including groups {repo_name} is replaced with just name of repo
183 186
184 187 issue_server_link = https://myissueserver.com/{repo}/issue/{id}
185 188
186 189 ## prefix to add to link to indicate it's an url
187 190 ## #314 will be replaced by <issue_prefix><id>
188 191
189 192 issue_prefix = #
190 193
191 194 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
192 195 ## multiple patterns, to other issues server, wiki or others
193 196 ## below an example how to create a wiki pattern
194 197 # #wiki-some-id -> https://mywiki.com/some-id
195 198
196 199 #issue_pat_wiki = (?:wiki-)(.+)
197 200 #issue_server_link_wiki = https://mywiki.com/{id}
198 201 #issue_prefix_wiki = WIKI-
199 202
200 203
201 204 ## instance-id prefix
202 205 ## a prefix key for this instance used for cache invalidation when running
203 206 ## multiple instances of rhodecode, make sure it's globally unique for
204 207 ## all running rhodecode instances. Leave empty if you don't use it
205 208 instance_id =
206 209
207 210 ## alternative return HTTP header for failed authentication. Default HTTP
208 211 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
209 212 ## handling that. Set this variable to 403 to return HTTPForbidden
210 213 auth_ret_code =
211 214
212 215 ## locking return code. When repository is locked return this HTTP code. 2XX
213 216 ## codes don't break the transactions while 4XX codes do
214 217 lock_ret_code = 423
215 218
216 219 allow_repo_location_change = True
217 220
218 221 ####################################
219 222 ### CELERY CONFIG ####
220 223 ####################################
221 224 use_celery = false
222 225 broker.host = localhost
223 226 broker.vhost = rabbitmqhost
224 227 broker.port = 5672
225 228 broker.user = rabbitmq
226 229 broker.password = qweqwe
227 230
228 231 celery.imports = rhodecode.lib.celerylib.tasks
229 232
230 233 celery.result.backend = amqp
231 234 celery.result.dburi = amqp://
232 235 celery.result.serialier = json
233 236
234 237 #celery.send.task.error.emails = true
235 238 #celery.amqp.task.result.expires = 18000
236 239
237 240 celeryd.concurrency = 2
238 241 #celeryd.log.file = celeryd.log
239 242 celeryd.log.level = debug
240 243 celeryd.max.tasks.per.child = 1
241 244
242 245 ## tasks will never be sent to the queue, but executed locally instead.
243 246 celery.always.eager = false
244 247
245 248 ####################################
246 249 ### BEAKER CACHE ####
247 250 ####################################
248 251 beaker.cache.data_dir=%(here)s/data/cache/data
249 252 beaker.cache.lock_dir=%(here)s/data/cache/lock
250 253
251 254 beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long
252 255
253 256 beaker.cache.super_short_term.type=memory
254 257 beaker.cache.super_short_term.expire=10
255 258 beaker.cache.super_short_term.key_length = 256
256 259
257 260 beaker.cache.short_term.type=memory
258 261 beaker.cache.short_term.expire=60
259 262 beaker.cache.short_term.key_length = 256
260 263
261 264 beaker.cache.long_term.type=memory
262 265 beaker.cache.long_term.expire=36000
263 266 beaker.cache.long_term.key_length = 256
264 267
265 268 beaker.cache.sql_cache_short.type=memory
266 269 beaker.cache.sql_cache_short.expire=10
267 270 beaker.cache.sql_cache_short.key_length = 256
268 271
269 272 beaker.cache.sql_cache_med.type=memory
270 273 beaker.cache.sql_cache_med.expire=360
271 274 beaker.cache.sql_cache_med.key_length = 256
272 275
273 276 beaker.cache.sql_cache_long.type=file
274 277 beaker.cache.sql_cache_long.expire=3600
275 278 beaker.cache.sql_cache_long.key_length = 256
276 279
277 280 ####################################
278 281 ### BEAKER SESSION ####
279 282 ####################################
280 283 ## Type of storage used for the session, current types are
281 284 ## dbm, file, memcached, database, and memory.
282 285 ## The storage uses the Container API
283 286 ## that is also used by the cache system.
284 287
285 288 ## db session ##
286 289 #beaker.session.type = ext:database
287 290 #beaker.session.sa.url = postgresql://postgres:qwe@localhost/rhodecode
288 291 #beaker.session.table_name = db_session
289 292
290 293 ## encrypted cookie client side session, good for many instances ##
291 294 #beaker.session.type = cookie
292 295
293 296 ## file based cookies (default) ##
294 297 #beaker.session.type = file
295 298
296 299 beaker.session.key = rhodecode
297 300 beaker.session.secret = ${app_instance_uuid}
298 301
299 302 ## Secure encrypted cookie. Requires AES and AES python libraries
300 303 ## you must disable beaker.session.secret to use this
301 304 #beaker.session.encrypt_key = <key_for_encryption>
302 305 #beaker.session.validate_key = <validation_key>
303 306
304 307 ## sets session as invalid if it haven't been accessed for given amount of time
305 308 beaker.session.timeout = 2592000
306 309 beaker.session.httponly = true
307 310 #beaker.session.cookie_path = /<your-prefix>
308 311
309 312 ## uncomment for https secure cookie
310 313 beaker.session.secure = false
311 314
312 315 ## auto save the session to not to use .save()
313 316 beaker.session.auto = False
314 317
315 318 ## default cookie expiration time in seconds `true` expire at browser close ##
316 319 #beaker.session.cookie_expires = 3600
317 320
318 321
319 322 ############################
320 323 ## ERROR HANDLING SYSTEMS ##
321 324 ############################
322 325
323 326 ####################
324 327 ### [errormator] ###
325 328 ####################
326 329
327 330 ## Errormator is tailored to work with RhodeCode, see
328 331 ## http://errormator.com for details how to obtain an account
329 332 ## you must install python package `errormator_client` to make it work
330 333
331 334 ## errormator enabled
332 335 errormator = false
333 336
334 337 errormator.server_url = https://api.errormator.com
335 338 errormator.api_key = YOUR_API_KEY
336 339
337 340 ## TWEAK AMOUNT OF INFO SENT HERE
338 341
339 342 ## enables 404 error logging (default False)
340 343 errormator.report_404 = false
341 344
342 345 ## time in seconds after request is considered being slow (default 1)
343 346 errormator.slow_request_time = 1
344 347
345 348 ## record slow requests in application
346 349 ## (needs to be enabled for slow datastore recording and time tracking)
347 350 errormator.slow_requests = true
348 351
349 352 ## enable hooking to application loggers
350 353 # errormator.logging = true
351 354
352 355 ## minimum log level for log capture
353 356 # errormator.logging.level = WARNING
354 357
355 358 ## send logs only from erroneous/slow requests
356 359 ## (saves API quota for intensive logging)
357 360 errormator.logging_on_error = false
358 361
359 362 ## list of additonal keywords that should be grabbed from environ object
360 363 ## can be string with comma separated list of words in lowercase
361 364 ## (by default client will always send following info:
362 365 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
363 366 ## start with HTTP* this list be extended with additional keywords here
364 367 errormator.environ_keys_whitelist =
365 368
366 369
367 370 ## list of keywords that should be blanked from request object
368 371 ## can be string with comma separated list of words in lowercase
369 372 ## (by default client will always blank keys that contain following words
370 373 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
371 374 ## this list be extended with additional keywords set here
372 375 errormator.request_keys_blacklist =
373 376
374 377
375 378 ## list of namespaces that should be ignores when gathering log entries
376 379 ## can be string with comma separated list of namespaces
377 380 ## (by default the client ignores own entries: errormator_client.client)
378 381 errormator.log_namespace_blacklist =
379 382
380 383
381 384 ################
382 385 ### [sentry] ###
383 386 ################
384 387
385 388 ## sentry is a alternative open source error aggregator
386 389 ## you must install python packages `sentry` and `raven` to enable
387 390
388 391 sentry.dsn = YOUR_DNS
389 392 sentry.servers =
390 393 sentry.name =
391 394 sentry.key =
392 395 sentry.public_key =
393 396 sentry.secret_key =
394 397 sentry.project =
395 398 sentry.site =
396 399 sentry.include_paths =
397 400 sentry.exclude_paths =
398 401
399 402
400 403 ################################################################################
401 404 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
402 405 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
403 406 ## execute malicious code after an exception is raised. ##
404 407 ################################################################################
405 408 #set debug = false
406 409
407 410 ##################################
408 411 ### LOGVIEW CONFIG ###
409 412 ##################################
410 413 logview.sqlalchemy = #faa
411 414 logview.pylons.templating = #bfb
412 415 logview.pylons.util = #eee
413 416
414 417 #########################################################
415 418 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
416 419 #########################################################
417 420 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db
418 421 sqlalchemy.db1.url = postgresql://postgres:qwe@localhost/rhodecode
419 422 sqlalchemy.db1.echo = false
420 423 sqlalchemy.db1.pool_recycle = 3600
421 424 sqlalchemy.db1.convert_unicode = true
422 425
423 426 ################################
424 427 ### LOGGING CONFIGURATION ####
425 428 ################################
426 429 [loggers]
427 430 keys = root, routes, rhodecode, sqlalchemy, beaker, templates, whoosh_indexer
428 431
429 432 [handlers]
430 433 keys = console, console_sql
431 434
432 435 [formatters]
433 436 keys = generic, color_formatter, color_formatter_sql
434 437
435 438 #############
436 439 ## LOGGERS ##
437 440 #############
438 441 [logger_root]
439 442 level = NOTSET
440 443 handlers = console
441 444
442 445 [logger_routes]
443 446 level = DEBUG
444 447 handlers =
445 448 qualname = routes.middleware
446 449 ## "level = DEBUG" logs the route matched and routing variables.
447 450 propagate = 1
448 451
449 452 [logger_beaker]
450 453 level = DEBUG
451 454 handlers =
452 455 qualname = beaker.container
453 456 propagate = 1
454 457
455 458 [logger_templates]
456 459 level = INFO
457 460 handlers =
458 461 qualname = pylons.templating
459 462 propagate = 1
460 463
461 464 [logger_rhodecode]
462 465 level = DEBUG
463 466 handlers =
464 467 qualname = rhodecode
465 468 propagate = 1
466 469
467 470 [logger_sqlalchemy]
468 471 level = INFO
469 472 handlers = console_sql
470 473 qualname = sqlalchemy.engine
471 474 propagate = 0
472 475
473 476 [logger_whoosh_indexer]
474 477 level = DEBUG
475 478 handlers =
476 479 qualname = whoosh_indexer
477 480 propagate = 1
478 481
479 482 ##############
480 483 ## HANDLERS ##
481 484 ##############
482 485
483 486 [handler_console]
484 487 class = StreamHandler
485 488 args = (sys.stderr,)
486 489 level = DEBUG
487 490 formatter = color_formatter
488 491
489 492 [handler_console_sql]
490 493 class = StreamHandler
491 494 args = (sys.stderr,)
492 495 level = DEBUG
493 496 formatter = color_formatter_sql
494 497
495 498 ################
496 499 ## FORMATTERS ##
497 500 ################
498 501
499 502 [formatter_generic]
500 503 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
501 504 datefmt = %Y-%m-%d %H:%M:%S
502 505
503 506 [formatter_color_formatter]
504 507 class=rhodecode.lib.colored_formatter.ColorFormatter
505 508 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
506 509 datefmt = %Y-%m-%d %H:%M:%S
507 510
508 511 [formatter_color_formatter_sql]
509 512 class=rhodecode.lib.colored_formatter.ColorFormatterSql
510 513 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
511 514 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,511 +1,514 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode - Pylons environment configuration #
4 4 # #
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 pdebug = false
11 11 ################################################################################
12 12 ## Uncomment and replace with the address which should receive ##
13 13 ## any error reports after application crash ##
14 14 ## Additionally those settings will be used by RhodeCode mailing system ##
15 15 ################################################################################
16 16 #email_to = admin@localhost
17 17 #error_email_from = paste_error@localhost
18 18 #app_email_from = rhodecode-noreply@localhost
19 19 #error_message =
20 20 #email_prefix = [RhodeCode]
21 21
22 22 #smtp_server = mail.server.com
23 23 #smtp_username =
24 24 #smtp_password =
25 25 #smtp_port =
26 26 #smtp_use_tls = false
27 27 #smtp_use_ssl = true
28 28 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 29 #smtp_auth =
30 30
31 31 [server:main]
32 32 ## PASTE ##
33 33 #use = egg:Paste#http
34 34 ## nr of worker threads to spawn
35 35 #threadpool_workers = 5
36 36 ## max request before thread respawn
37 37 #threadpool_max_requests = 10
38 38 ## option to use threads of process
39 39 #use_threadpool = true
40 40
41 41 ## WAITRESS ##
42 42 use = egg:waitress#main
43 43 ## number of worker threads
44 44 threads = 5
45 45 ## MAX BODY SIZE 100GB
46 46 max_request_body_size = 107374182400
47 47 ## use poll instead of select, fixes fd limits, may not work on old
48 48 ## windows systems.
49 49 #asyncore_use_poll = True
50 50
51 51 ## GUNICORN ##
52 52 #use = egg:gunicorn#main
53 53 ## number of process workers. You must set `instance_id = *` when this option
54 54 ## is set to more than one worker
55 55 #workers = 1
56 56 ## process name
57 57 #proc_name = rhodecode
58 58 ## type of worker class, one of sync, eventlet, gevent, tornado
59 59 ## recommended for bigger setup is using of of other than sync one
60 60 #worker_class = sync
61 61 #max_requests = 5
62 ## ammount of time a worker can handle request before it get's killed and
63 ## restarted
64 #timeout = 3600
62 65
63 66 ## COMMON ##
64 67 host = 127.0.0.1
65 68 port = 5000
66 69
67 70 ## prefix middleware for rc
68 71 #[filter:proxy-prefix]
69 72 #use = egg:PasteDeploy#prefix
70 73 #prefix = /<your-prefix>
71 74
72 75 [app:main]
73 76 use = egg:rhodecode
74 77 ## enable proxy prefix middleware
75 78 #filter-with = proxy-prefix
76 79
77 80 full_stack = true
78 81 static_files = true
79 82 ## Optional Languages
80 83 ## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
81 84 lang = en
82 85 cache_dir = %(here)s/data
83 86 index_dir = %(here)s/data/index
84 87
85 88 ## perform a full repository scan on each server start, this should be
86 89 ## set to false after first startup, to allow faster server restarts.
87 90 initial_repo_scan = true
88 91
89 92 ## uncomment and set this path to use archive download cache
90 93 #archive_cache_dir = /tmp/tarballcache
91 94
92 95 ## change this to unique ID for security
93 96 app_instance_uuid = rc-production
94 97
95 98 ## cut off limit for large diffs (size in bytes)
96 99 cut_off_limit = 256000
97 100
98 101 ## use cache version of scm repo everywhere
99 102 vcs_full_cache = true
100 103
101 104 ## force https in RhodeCode, fixes https redirects, assumes it's always https
102 105 force_https = false
103 106
104 107 ## use Strict-Transport-Security headers
105 108 use_htsts = false
106 109
107 110 ## number of commits stats will parse on each iteration
108 111 commit_parse_limit = 25
109 112
110 113 ## use gravatar service to display avatars
111 114 use_gravatar = true
112 115
113 116 ## path to git executable
114 117 git_path = git
115 118
116 119 ## git rev filter option, --all is the default filter, if you need to
117 120 ## hide all refs in changelog switch this to --branches --tags
118 121 git_rev_filter=--all
119 122
120 123 ## RSS feed options
121 124 rss_cut_off_limit = 256000
122 125 rss_items_per_page = 10
123 126 rss_include_diff = false
124 127
125 128 ## options for showing and identifying changesets
126 129 show_sha_length = 12
127 130 show_revision_number = true
128 131
129 132 ## gist URL alias, used to create nicer urls for gist. This should be an
130 133 ## url that does rewrites to _admin/gists/<gistid>.
131 134 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
132 135 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
133 136 gist_alias_url =
134 137
135 138 ## white list of API enabled controllers. This allows to add list of
136 139 ## controllers to which access will be enabled by api_key. eg: to enable
137 140 ## api access to raw_files put `FilesController:raw`, to enable access to patches
138 141 ## add `ChangesetController:changeset_patch`. This list should be "," separated
139 142 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
140 143 api_access_controllers_whitelist =
141 144
142 145 ## alternative_gravatar_url allows you to use your own avatar server application
143 146 ## the following parts of the URL will be replaced
144 147 ## {email} user email
145 148 ## {md5email} md5 hash of the user email (like at gravatar.com)
146 149 ## {size} size of the image that is expected from the server application
147 150 ## {scheme} http/https from RhodeCode server
148 151 ## {netloc} network location from RhodeCode server
149 152 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
150 153 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
151 154
152 155
153 156 ## container auth options
154 157 container_auth_enabled = false
155 158 proxypass_auth_enabled = false
156 159
157 160 ## default encoding used to convert from and to unicode
158 161 ## can be also a comma seperated list of encoding in case of mixed encodings
159 162 default_encoding = utf8
160 163
161 164 ## overwrite schema of clone url
162 165 ## available vars:
163 166 ## scheme - http/https
164 167 ## user - current user
165 168 ## pass - password
166 169 ## netloc - network location
167 170 ## path - usually repo_name
168 171
169 172 #clone_uri = {scheme}://{user}{pass}{netloc}{path}
170 173
171 174 ## issue tracking mapping for commits messages
172 175 ## comment out issue_pat, issue_server, issue_prefix to enable
173 176
174 177 ## pattern to get the issues from commit messages
175 178 ## default one used here is #<numbers> with a regex passive group for `#`
176 179 ## {id} will be all groups matched from this pattern
177 180
178 181 issue_pat = (?:\s*#)(\d+)
179 182
180 183 ## server url to the issue, each {id} will be replaced with match
181 184 ## fetched from the regex and {repo} is replaced with full repository name
182 185 ## including groups {repo_name} is replaced with just name of repo
183 186
184 187 issue_server_link = https://myissueserver.com/{repo}/issue/{id}
185 188
186 189 ## prefix to add to link to indicate it's an url
187 190 ## #314 will be replaced by <issue_prefix><id>
188 191
189 192 issue_prefix = #
190 193
191 194 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
192 195 ## multiple patterns, to other issues server, wiki or others
193 196 ## below an example how to create a wiki pattern
194 197 # #wiki-some-id -> https://mywiki.com/some-id
195 198
196 199 #issue_pat_wiki = (?:wiki-)(.+)
197 200 #issue_server_link_wiki = https://mywiki.com/{id}
198 201 #issue_prefix_wiki = WIKI-
199 202
200 203
201 204 ## instance-id prefix
202 205 ## a prefix key for this instance used for cache invalidation when running
203 206 ## multiple instances of rhodecode, make sure it's globally unique for
204 207 ## all running rhodecode instances. Leave empty if you don't use it
205 208 instance_id =
206 209
207 210 ## alternative return HTTP header for failed authentication. Default HTTP
208 211 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
209 212 ## handling that. Set this variable to 403 to return HTTPForbidden
210 213 auth_ret_code =
211 214
212 215 ## locking return code. When repository is locked return this HTTP code. 2XX
213 216 ## codes don't break the transactions while 4XX codes do
214 217 lock_ret_code = 423
215 218
216 219 allow_repo_location_change = True
217 220
218 221 ####################################
219 222 ### CELERY CONFIG ####
220 223 ####################################
221 224 use_celery = false
222 225 broker.host = localhost
223 226 broker.vhost = rabbitmqhost
224 227 broker.port = 5672
225 228 broker.user = rabbitmq
226 229 broker.password = qweqwe
227 230
228 231 celery.imports = rhodecode.lib.celerylib.tasks
229 232
230 233 celery.result.backend = amqp
231 234 celery.result.dburi = amqp://
232 235 celery.result.serialier = json
233 236
234 237 #celery.send.task.error.emails = true
235 238 #celery.amqp.task.result.expires = 18000
236 239
237 240 celeryd.concurrency = 2
238 241 #celeryd.log.file = celeryd.log
239 242 celeryd.log.level = debug
240 243 celeryd.max.tasks.per.child = 1
241 244
242 245 ## tasks will never be sent to the queue, but executed locally instead.
243 246 celery.always.eager = false
244 247
245 248 ####################################
246 249 ### BEAKER CACHE ####
247 250 ####################################
248 251 beaker.cache.data_dir=%(here)s/data/cache/data
249 252 beaker.cache.lock_dir=%(here)s/data/cache/lock
250 253
251 254 beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long
252 255
253 256 beaker.cache.super_short_term.type=memory
254 257 beaker.cache.super_short_term.expire=10
255 258 beaker.cache.super_short_term.key_length = 256
256 259
257 260 beaker.cache.short_term.type=memory
258 261 beaker.cache.short_term.expire=60
259 262 beaker.cache.short_term.key_length = 256
260 263
261 264 beaker.cache.long_term.type=memory
262 265 beaker.cache.long_term.expire=36000
263 266 beaker.cache.long_term.key_length = 256
264 267
265 268 beaker.cache.sql_cache_short.type=memory
266 269 beaker.cache.sql_cache_short.expire=10
267 270 beaker.cache.sql_cache_short.key_length = 256
268 271
269 272 beaker.cache.sql_cache_med.type=memory
270 273 beaker.cache.sql_cache_med.expire=360
271 274 beaker.cache.sql_cache_med.key_length = 256
272 275
273 276 beaker.cache.sql_cache_long.type=file
274 277 beaker.cache.sql_cache_long.expire=3600
275 278 beaker.cache.sql_cache_long.key_length = 256
276 279
277 280 ####################################
278 281 ### BEAKER SESSION ####
279 282 ####################################
280 283 ## Type of storage used for the session, current types are
281 284 ## dbm, file, memcached, database, and memory.
282 285 ## The storage uses the Container API
283 286 ## that is also used by the cache system.
284 287
285 288 ## db session ##
286 289 #beaker.session.type = ext:database
287 290 #beaker.session.sa.url = postgresql://postgres:qwe@localhost/rhodecode
288 291 #beaker.session.table_name = db_session
289 292
290 293 ## encrypted cookie client side session, good for many instances ##
291 294 #beaker.session.type = cookie
292 295
293 296 ## file based cookies (default) ##
294 297 #beaker.session.type = file
295 298
296 299 beaker.session.key = rhodecode
297 300 beaker.session.secret = ${app_instance_uuid}
298 301
299 302 ## Secure encrypted cookie. Requires AES and AES python libraries
300 303 ## you must disable beaker.session.secret to use this
301 304 #beaker.session.encrypt_key = <key_for_encryption>
302 305 #beaker.session.validate_key = <validation_key>
303 306
304 307 ## sets session as invalid if it haven't been accessed for given amount of time
305 308 beaker.session.timeout = 2592000
306 309 beaker.session.httponly = true
307 310 #beaker.session.cookie_path = /<your-prefix>
308 311
309 312 ## uncomment for https secure cookie
310 313 beaker.session.secure = false
311 314
312 315 ## auto save the session to not to use .save()
313 316 beaker.session.auto = False
314 317
315 318 ## default cookie expiration time in seconds `true` expire at browser close ##
316 319 #beaker.session.cookie_expires = 3600
317 320
318 321
319 322 ############################
320 323 ## ERROR HANDLING SYSTEMS ##
321 324 ############################
322 325
323 326 ####################
324 327 ### [errormator] ###
325 328 ####################
326 329
327 330 ## Errormator is tailored to work with RhodeCode, see
328 331 ## http://errormator.com for details how to obtain an account
329 332 ## you must install python package `errormator_client` to make it work
330 333
331 334 ## errormator enabled
332 335 errormator = false
333 336
334 337 errormator.server_url = https://api.errormator.com
335 338 errormator.api_key = YOUR_API_KEY
336 339
337 340 ## TWEAK AMOUNT OF INFO SENT HERE
338 341
339 342 ## enables 404 error logging (default False)
340 343 errormator.report_404 = false
341 344
342 345 ## time in seconds after request is considered being slow (default 1)
343 346 errormator.slow_request_time = 1
344 347
345 348 ## record slow requests in application
346 349 ## (needs to be enabled for slow datastore recording and time tracking)
347 350 errormator.slow_requests = true
348 351
349 352 ## enable hooking to application loggers
350 353 # errormator.logging = true
351 354
352 355 ## minimum log level for log capture
353 356 # errormator.logging.level = WARNING
354 357
355 358 ## send logs only from erroneous/slow requests
356 359 ## (saves API quota for intensive logging)
357 360 errormator.logging_on_error = false
358 361
359 362 ## list of additonal keywords that should be grabbed from environ object
360 363 ## can be string with comma separated list of words in lowercase
361 364 ## (by default client will always send following info:
362 365 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
363 366 ## start with HTTP* this list be extended with additional keywords here
364 367 errormator.environ_keys_whitelist =
365 368
366 369
367 370 ## list of keywords that should be blanked from request object
368 371 ## can be string with comma separated list of words in lowercase
369 372 ## (by default client will always blank keys that contain following words
370 373 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
371 374 ## this list be extended with additional keywords set here
372 375 errormator.request_keys_blacklist =
373 376
374 377
375 378 ## list of namespaces that should be ignores when gathering log entries
376 379 ## can be string with comma separated list of namespaces
377 380 ## (by default the client ignores own entries: errormator_client.client)
378 381 errormator.log_namespace_blacklist =
379 382
380 383
381 384 ################
382 385 ### [sentry] ###
383 386 ################
384 387
385 388 ## sentry is a alternative open source error aggregator
386 389 ## you must install python packages `sentry` and `raven` to enable
387 390
388 391 sentry.dsn = YOUR_DNS
389 392 sentry.servers =
390 393 sentry.name =
391 394 sentry.key =
392 395 sentry.public_key =
393 396 sentry.secret_key =
394 397 sentry.project =
395 398 sentry.site =
396 399 sentry.include_paths =
397 400 sentry.exclude_paths =
398 401
399 402
400 403 ################################################################################
401 404 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
402 405 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
403 406 ## execute malicious code after an exception is raised. ##
404 407 ################################################################################
405 408 set debug = false
406 409
407 410 ##################################
408 411 ### LOGVIEW CONFIG ###
409 412 ##################################
410 413 logview.sqlalchemy = #faa
411 414 logview.pylons.templating = #bfb
412 415 logview.pylons.util = #eee
413 416
414 417 #########################################################
415 418 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
416 419 #########################################################
417 420 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db
418 421 sqlalchemy.db1.url = postgresql://postgres:qwe@localhost/rhodecode
419 422 sqlalchemy.db1.echo = false
420 423 sqlalchemy.db1.pool_recycle = 3600
421 424 sqlalchemy.db1.convert_unicode = true
422 425
423 426 ################################
424 427 ### LOGGING CONFIGURATION ####
425 428 ################################
426 429 [loggers]
427 430 keys = root, routes, rhodecode, sqlalchemy, beaker, templates, whoosh_indexer
428 431
429 432 [handlers]
430 433 keys = console, console_sql
431 434
432 435 [formatters]
433 436 keys = generic, color_formatter, color_formatter_sql
434 437
435 438 #############
436 439 ## LOGGERS ##
437 440 #############
438 441 [logger_root]
439 442 level = NOTSET
440 443 handlers = console
441 444
442 445 [logger_routes]
443 446 level = DEBUG
444 447 handlers =
445 448 qualname = routes.middleware
446 449 ## "level = DEBUG" logs the route matched and routing variables.
447 450 propagate = 1
448 451
449 452 [logger_beaker]
450 453 level = DEBUG
451 454 handlers =
452 455 qualname = beaker.container
453 456 propagate = 1
454 457
455 458 [logger_templates]
456 459 level = INFO
457 460 handlers =
458 461 qualname = pylons.templating
459 462 propagate = 1
460 463
461 464 [logger_rhodecode]
462 465 level = DEBUG
463 466 handlers =
464 467 qualname = rhodecode
465 468 propagate = 1
466 469
467 470 [logger_sqlalchemy]
468 471 level = INFO
469 472 handlers = console_sql
470 473 qualname = sqlalchemy.engine
471 474 propagate = 0
472 475
473 476 [logger_whoosh_indexer]
474 477 level = DEBUG
475 478 handlers =
476 479 qualname = whoosh_indexer
477 480 propagate = 1
478 481
479 482 ##############
480 483 ## HANDLERS ##
481 484 ##############
482 485
483 486 [handler_console]
484 487 class = StreamHandler
485 488 args = (sys.stderr,)
486 489 level = INFO
487 490 formatter = generic
488 491
489 492 [handler_console_sql]
490 493 class = StreamHandler
491 494 args = (sys.stderr,)
492 495 level = WARN
493 496 formatter = generic
494 497
495 498 ################
496 499 ## FORMATTERS ##
497 500 ################
498 501
499 502 [formatter_generic]
500 503 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
501 504 datefmt = %Y-%m-%d %H:%M:%S
502 505
503 506 [formatter_color_formatter]
504 507 class=rhodecode.lib.colored_formatter.ColorFormatter
505 508 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
506 509 datefmt = %Y-%m-%d %H:%M:%S
507 510
508 511 [formatter_color_formatter_sql]
509 512 class=rhodecode.lib.colored_formatter.ColorFormatterSql
510 513 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
511 514 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,521 +1,524 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode - Pylons environment configuration #
4 4 # #
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 pdebug = false
11 11 ################################################################################
12 12 ## Uncomment and replace with the address which should receive ##
13 13 ## any error reports after application crash ##
14 14 ## Additionally those settings will be used by RhodeCode mailing system ##
15 15 ################################################################################
16 16 #email_to = admin@localhost
17 17 #error_email_from = paste_error@localhost
18 18 #app_email_from = rhodecode-noreply@localhost
19 19 #error_message =
20 20 #email_prefix = [RhodeCode]
21 21
22 22 #smtp_server = mail.server.com
23 23 #smtp_username =
24 24 #smtp_password =
25 25 #smtp_port =
26 26 #smtp_use_tls = false
27 27 #smtp_use_ssl = true
28 28 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 29 #smtp_auth =
30 30
31 31 [server:main]
32 32 ## PASTE ##
33 33 #use = egg:Paste#http
34 34 ## nr of worker threads to spawn
35 35 #threadpool_workers = 5
36 36 ## max request before thread respawn
37 37 #threadpool_max_requests = 10
38 38 ## option to use threads of process
39 39 #use_threadpool = true
40 40
41 41 ## WAITRESS ##
42 42 use = egg:waitress#main
43 43 ## number of worker threads
44 44 threads = 5
45 45 ## MAX BODY SIZE 100GB
46 46 max_request_body_size = 107374182400
47 47 ## use poll instead of select, fixes fd limits, may not work on old
48 48 ## windows systems.
49 49 #asyncore_use_poll = True
50 50
51 51 ## GUNICORN ##
52 52 #use = egg:gunicorn#main
53 53 ## number of process workers. You must set `instance_id = *` when this option
54 54 ## is set to more than one worker
55 55 #workers = 1
56 56 ## process name
57 57 #proc_name = rhodecode
58 58 ## type of worker class, one of sync, eventlet, gevent, tornado
59 59 ## recommended for bigger setup is using of of other than sync one
60 60 #worker_class = sync
61 61 #max_requests = 5
62 ## ammount of time a worker can handle request before it get's killed and
63 ## restarted
64 #timeout = 3600
62 65
63 66 ## COMMON ##
64 67 host = 127.0.0.1
65 68 port = 5000
66 69
67 70 ## prefix middleware for rc
68 71 #[filter:proxy-prefix]
69 72 #use = egg:PasteDeploy#prefix
70 73 #prefix = /<your-prefix>
71 74
72 75 [app:main]
73 76 use = egg:rhodecode
74 77 ## enable proxy prefix middleware
75 78 #filter-with = proxy-prefix
76 79
77 80 full_stack = true
78 81 static_files = true
79 82 ## Optional Languages
80 83 ## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
81 84 lang = en
82 85 cache_dir = %(here)s/data
83 86 index_dir = %(here)s/data/index
84 87
85 88 ## perform a full repository scan on each server start, this should be
86 89 ## set to false after first startup, to allow faster server restarts.
87 90 initial_repo_scan = true
88 91
89 92 ## uncomment and set this path to use archive download cache
90 93 #archive_cache_dir = /tmp/tarballcache
91 94
92 95 ## change this to unique ID for security
93 96 app_instance_uuid = ${app_instance_uuid}
94 97
95 98 ## cut off limit for large diffs (size in bytes)
96 99 cut_off_limit = 256000
97 100
98 101 ## use cache version of scm repo everywhere
99 102 vcs_full_cache = true
100 103
101 104 ## force https in RhodeCode, fixes https redirects, assumes it's always https
102 105 force_https = false
103 106
104 107 ## use Strict-Transport-Security headers
105 108 use_htsts = false
106 109
107 110 ## number of commits stats will parse on each iteration
108 111 commit_parse_limit = 25
109 112
110 113 ## use gravatar service to display avatars
111 114 use_gravatar = true
112 115
113 116 ## path to git executable
114 117 git_path = git
115 118
116 119 ## git rev filter option, --all is the default filter, if you need to
117 120 ## hide all refs in changelog switch this to --branches --tags
118 121 git_rev_filter=--all
119 122
120 123 ## RSS feed options
121 124 rss_cut_off_limit = 256000
122 125 rss_items_per_page = 10
123 126 rss_include_diff = false
124 127
125 128 ## options for showing and identifying changesets
126 129 show_sha_length = 12
127 130 show_revision_number = true
128 131
129 132 ## gist URL alias, used to create nicer urls for gist. This should be an
130 133 ## url that does rewrites to _admin/gists/<gistid>.
131 134 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
132 135 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
133 136 gist_alias_url =
134 137
135 138 ## white list of API enabled controllers. This allows to add list of
136 139 ## controllers to which access will be enabled by api_key. eg: to enable
137 140 ## api access to raw_files put `FilesController:raw`, to enable access to patches
138 141 ## add `ChangesetController:changeset_patch`. This list should be "," separated
139 142 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
140 143 api_access_controllers_whitelist =
141 144
142 145 ## alternative_gravatar_url allows you to use your own avatar server application
143 146 ## the following parts of the URL will be replaced
144 147 ## {email} user email
145 148 ## {md5email} md5 hash of the user email (like at gravatar.com)
146 149 ## {size} size of the image that is expected from the server application
147 150 ## {scheme} http/https from RhodeCode server
148 151 ## {netloc} network location from RhodeCode server
149 152 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
150 153 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
151 154
152 155
153 156 ## container auth options
154 157 container_auth_enabled = false
155 158 proxypass_auth_enabled = false
156 159
157 160 ## default encoding used to convert from and to unicode
158 161 ## can be also a comma seperated list of encoding in case of mixed encodings
159 162 default_encoding = utf8
160 163
161 164 ## overwrite schema of clone url
162 165 ## available vars:
163 166 ## scheme - http/https
164 167 ## user - current user
165 168 ## pass - password
166 169 ## netloc - network location
167 170 ## path - usually repo_name
168 171
169 172 #clone_uri = {scheme}://{user}{pass}{netloc}{path}
170 173
171 174 ## issue tracking mapping for commits messages
172 175 ## comment out issue_pat, issue_server, issue_prefix to enable
173 176
174 177 ## pattern to get the issues from commit messages
175 178 ## default one used here is #<numbers> with a regex passive group for `#`
176 179 ## {id} will be all groups matched from this pattern
177 180
178 181 issue_pat = (?:\s*#)(\d+)
179 182
180 183 ## server url to the issue, each {id} will be replaced with match
181 184 ## fetched from the regex and {repo} is replaced with full repository name
182 185 ## including groups {repo_name} is replaced with just name of repo
183 186
184 187 issue_server_link = https://myissueserver.com/{repo}/issue/{id}
185 188
186 189 ## prefix to add to link to indicate it's an url
187 190 ## #314 will be replaced by <issue_prefix><id>
188 191
189 192 issue_prefix = #
190 193
191 194 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
192 195 ## multiple patterns, to other issues server, wiki or others
193 196 ## below an example how to create a wiki pattern
194 197 # #wiki-some-id -> https://mywiki.com/some-id
195 198
196 199 #issue_pat_wiki = (?:wiki-)(.+)
197 200 #issue_server_link_wiki = https://mywiki.com/{id}
198 201 #issue_prefix_wiki = WIKI-
199 202
200 203
201 204 ## instance-id prefix
202 205 ## a prefix key for this instance used for cache invalidation when running
203 206 ## multiple instances of rhodecode, make sure it's globally unique for
204 207 ## all running rhodecode instances. Leave empty if you don't use it
205 208 instance_id =
206 209
207 210 ## alternative return HTTP header for failed authentication. Default HTTP
208 211 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
209 212 ## handling that. Set this variable to 403 to return HTTPForbidden
210 213 auth_ret_code =
211 214
212 215 ## locking return code. When repository is locked return this HTTP code. 2XX
213 216 ## codes don't break the transactions while 4XX codes do
214 217 lock_ret_code = 423
215 218
216 219 allow_repo_location_change = True
217 220
218 221 ####################################
219 222 ### CELERY CONFIG ####
220 223 ####################################
221 224 use_celery = false
222 225 broker.host = localhost
223 226 broker.vhost = rabbitmqhost
224 227 broker.port = 5672
225 228 broker.user = rabbitmq
226 229 broker.password = qweqwe
227 230
228 231 celery.imports = rhodecode.lib.celerylib.tasks
229 232
230 233 celery.result.backend = amqp
231 234 celery.result.dburi = amqp://
232 235 celery.result.serialier = json
233 236
234 237 #celery.send.task.error.emails = true
235 238 #celery.amqp.task.result.expires = 18000
236 239
237 240 celeryd.concurrency = 2
238 241 #celeryd.log.file = celeryd.log
239 242 celeryd.log.level = debug
240 243 celeryd.max.tasks.per.child = 1
241 244
242 245 ## tasks will never be sent to the queue, but executed locally instead.
243 246 celery.always.eager = false
244 247
245 248 ####################################
246 249 ### BEAKER CACHE ####
247 250 ####################################
248 251 beaker.cache.data_dir=%(here)s/data/cache/data
249 252 beaker.cache.lock_dir=%(here)s/data/cache/lock
250 253
251 254 beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long
252 255
253 256 beaker.cache.super_short_term.type=memory
254 257 beaker.cache.super_short_term.expire=10
255 258 beaker.cache.super_short_term.key_length = 256
256 259
257 260 beaker.cache.short_term.type=memory
258 261 beaker.cache.short_term.expire=60
259 262 beaker.cache.short_term.key_length = 256
260 263
261 264 beaker.cache.long_term.type=memory
262 265 beaker.cache.long_term.expire=36000
263 266 beaker.cache.long_term.key_length = 256
264 267
265 268 beaker.cache.sql_cache_short.type=memory
266 269 beaker.cache.sql_cache_short.expire=10
267 270 beaker.cache.sql_cache_short.key_length = 256
268 271
269 272 beaker.cache.sql_cache_med.type=memory
270 273 beaker.cache.sql_cache_med.expire=360
271 274 beaker.cache.sql_cache_med.key_length = 256
272 275
273 276 beaker.cache.sql_cache_long.type=file
274 277 beaker.cache.sql_cache_long.expire=3600
275 278 beaker.cache.sql_cache_long.key_length = 256
276 279
277 280 ####################################
278 281 ### BEAKER SESSION ####
279 282 ####################################
280 283 ## Type of storage used for the session, current types are
281 284 ## dbm, file, memcached, database, and memory.
282 285 ## The storage uses the Container API
283 286 ## that is also used by the cache system.
284 287
285 288 ## db session ##
286 289 #beaker.session.type = ext:database
287 290 #beaker.session.sa.url = postgresql://postgres:qwe@localhost/rhodecode
288 291 #beaker.session.table_name = db_session
289 292
290 293 ## encrypted cookie client side session, good for many instances ##
291 294 #beaker.session.type = cookie
292 295
293 296 ## file based cookies (default) ##
294 297 #beaker.session.type = file
295 298
296 299 beaker.session.key = rhodecode
297 300 beaker.session.secret = ${app_instance_uuid}
298 301
299 302 ## Secure encrypted cookie. Requires AES and AES python libraries
300 303 ## you must disable beaker.session.secret to use this
301 304 #beaker.session.encrypt_key = <key_for_encryption>
302 305 #beaker.session.validate_key = <validation_key>
303 306
304 307 ## sets session as invalid if it haven't been accessed for given amount of time
305 308 beaker.session.timeout = 2592000
306 309 beaker.session.httponly = true
307 310 #beaker.session.cookie_path = /<your-prefix>
308 311
309 312 ## uncomment for https secure cookie
310 313 beaker.session.secure = false
311 314
312 315 ## auto save the session to not to use .save()
313 316 beaker.session.auto = False
314 317
315 318 ## default cookie expiration time in seconds `true` expire at browser close ##
316 319 #beaker.session.cookie_expires = 3600
317 320
318 321
319 322 ############################
320 323 ## ERROR HANDLING SYSTEMS ##
321 324 ############################
322 325
323 326 ####################
324 327 ### [errormator] ###
325 328 ####################
326 329
327 330 ## Errormator is tailored to work with RhodeCode, see
328 331 ## http://errormator.com for details how to obtain an account
329 332 ## you must install python package `errormator_client` to make it work
330 333
331 334 ## errormator enabled
332 335 errormator = false
333 336
334 337 errormator.server_url = https://api.errormator.com
335 338 errormator.api_key = YOUR_API_KEY
336 339
337 340 ## TWEAK AMOUNT OF INFO SENT HERE
338 341
339 342 ## enables 404 error logging (default False)
340 343 errormator.report_404 = false
341 344
342 345 ## time in seconds after request is considered being slow (default 1)
343 346 errormator.slow_request_time = 1
344 347
345 348 ## record slow requests in application
346 349 ## (needs to be enabled for slow datastore recording and time tracking)
347 350 errormator.slow_requests = true
348 351
349 352 ## enable hooking to application loggers
350 353 # errormator.logging = true
351 354
352 355 ## minimum log level for log capture
353 356 # errormator.logging.level = WARNING
354 357
355 358 ## send logs only from erroneous/slow requests
356 359 ## (saves API quota for intensive logging)
357 360 errormator.logging_on_error = false
358 361
359 362 ## list of additonal keywords that should be grabbed from environ object
360 363 ## can be string with comma separated list of words in lowercase
361 364 ## (by default client will always send following info:
362 365 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
363 366 ## start with HTTP* this list be extended with additional keywords here
364 367 errormator.environ_keys_whitelist =
365 368
366 369
367 370 ## list of keywords that should be blanked from request object
368 371 ## can be string with comma separated list of words in lowercase
369 372 ## (by default client will always blank keys that contain following words
370 373 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
371 374 ## this list be extended with additional keywords set here
372 375 errormator.request_keys_blacklist =
373 376
374 377
375 378 ## list of namespaces that should be ignores when gathering log entries
376 379 ## can be string with comma separated list of namespaces
377 380 ## (by default the client ignores own entries: errormator_client.client)
378 381 errormator.log_namespace_blacklist =
379 382
380 383
381 384 ################
382 385 ### [sentry] ###
383 386 ################
384 387
385 388 ## sentry is a alternative open source error aggregator
386 389 ## you must install python packages `sentry` and `raven` to enable
387 390
388 391 sentry.dsn = YOUR_DNS
389 392 sentry.servers =
390 393 sentry.name =
391 394 sentry.key =
392 395 sentry.public_key =
393 396 sentry.secret_key =
394 397 sentry.project =
395 398 sentry.site =
396 399 sentry.include_paths =
397 400 sentry.exclude_paths =
398 401
399 402
400 403 ################################################################################
401 404 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
402 405 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
403 406 ## execute malicious code after an exception is raised. ##
404 407 ################################################################################
405 408 set debug = false
406 409
407 410 ##################################
408 411 ### LOGVIEW CONFIG ###
409 412 ##################################
410 413 logview.sqlalchemy = #faa
411 414 logview.pylons.templating = #bfb
412 415 logview.pylons.util = #eee
413 416
414 417 #########################################################
415 418 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
416 419 #########################################################
417 420
418 421 # SQLITE [default]
419 422 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db
420 423
421 424 # POSTGRESQL
422 425 # sqlalchemy.db1.url = postgresql://user:pass@localhost/rhodecode
423 426
424 427 # MySQL
425 428 # sqlalchemy.db1.url = mysql://user:pass@localhost/rhodecode
426 429
427 430 # see sqlalchemy docs for others
428 431
429 432 sqlalchemy.db1.echo = false
430 433 sqlalchemy.db1.pool_recycle = 3600
431 434 sqlalchemy.db1.convert_unicode = true
432 435
433 436 ################################
434 437 ### LOGGING CONFIGURATION ####
435 438 ################################
436 439 [loggers]
437 440 keys = root, routes, rhodecode, sqlalchemy, beaker, templates, whoosh_indexer
438 441
439 442 [handlers]
440 443 keys = console, console_sql
441 444
442 445 [formatters]
443 446 keys = generic, color_formatter, color_formatter_sql
444 447
445 448 #############
446 449 ## LOGGERS ##
447 450 #############
448 451 [logger_root]
449 452 level = NOTSET
450 453 handlers = console
451 454
452 455 [logger_routes]
453 456 level = DEBUG
454 457 handlers =
455 458 qualname = routes.middleware
456 459 ## "level = DEBUG" logs the route matched and routing variables.
457 460 propagate = 1
458 461
459 462 [logger_beaker]
460 463 level = DEBUG
461 464 handlers =
462 465 qualname = beaker.container
463 466 propagate = 1
464 467
465 468 [logger_templates]
466 469 level = INFO
467 470 handlers =
468 471 qualname = pylons.templating
469 472 propagate = 1
470 473
471 474 [logger_rhodecode]
472 475 level = DEBUG
473 476 handlers =
474 477 qualname = rhodecode
475 478 propagate = 1
476 479
477 480 [logger_sqlalchemy]
478 481 level = INFO
479 482 handlers = console_sql
480 483 qualname = sqlalchemy.engine
481 484 propagate = 0
482 485
483 486 [logger_whoosh_indexer]
484 487 level = DEBUG
485 488 handlers =
486 489 qualname = whoosh_indexer
487 490 propagate = 1
488 491
489 492 ##############
490 493 ## HANDLERS ##
491 494 ##############
492 495
493 496 [handler_console]
494 497 class = StreamHandler
495 498 args = (sys.stderr,)
496 499 level = INFO
497 500 formatter = generic
498 501
499 502 [handler_console_sql]
500 503 class = StreamHandler
501 504 args = (sys.stderr,)
502 505 level = WARN
503 506 formatter = generic
504 507
505 508 ################
506 509 ## FORMATTERS ##
507 510 ################
508 511
509 512 [formatter_generic]
510 513 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
511 514 datefmt = %Y-%m-%d %H:%M:%S
512 515
513 516 [formatter_color_formatter]
514 517 class=rhodecode.lib.colored_formatter.ColorFormatter
515 518 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
516 519 datefmt = %Y-%m-%d %H:%M:%S
517 520
518 521 [formatter_color_formatter_sql]
519 522 class=rhodecode.lib.colored_formatter.ColorFormatterSql
520 523 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
521 524 datefmt = %Y-%m-%d %H:%M:%S
General Comments 0
You need to be logged in to leave comments. Login now