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