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