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