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