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