##// END OF EJS Templates
config: update ini/config files to account for /_static path
dan -
r456:68896d6f default
parent child Browse files
Show More
@@ -1,612 +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 ## Return gzipped responses
128 ## return gzipped responses from Rhodecode (static files/application)
129 gzip_responses = true
129 gzip_responses = 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
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 ##############
579 ##############
580 ## HANDLERS ##
580 ## HANDLERS ##
581 ##############
581 ##############
582
582
583 [handler_console]
583 [handler_console]
584 class = StreamHandler
584 class = StreamHandler
585 args = (sys.stderr,)
585 args = (sys.stderr,)
586 level = DEBUG
586 level = DEBUG
587 formatter = color_formatter
587 formatter = color_formatter
588
588
589 [handler_console_sql]
589 [handler_console_sql]
590 class = StreamHandler
590 class = StreamHandler
591 args = (sys.stderr,)
591 args = (sys.stderr,)
592 level = DEBUG
592 level = DEBUG
593 formatter = color_formatter_sql
593 formatter = color_formatter_sql
594
594
595 ################
595 ################
596 ## FORMATTERS ##
596 ## FORMATTERS ##
597 ################
597 ################
598
598
599 [formatter_generic]
599 [formatter_generic]
600 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
600 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
601 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
602 datefmt = %Y-%m-%d %H:%M:%S
602 datefmt = %Y-%m-%d %H:%M:%S
603
603
604 [formatter_color_formatter]
604 [formatter_color_formatter]
605 class = rhodecode.lib.logging_formatter.ColorFormatter
605 class = rhodecode.lib.logging_formatter.ColorFormatter
606 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
607 datefmt = %Y-%m-%d %H:%M:%S
607 datefmt = %Y-%m-%d %H:%M:%S
608
608
609 [formatter_color_formatter_sql]
609 [formatter_color_formatter_sql]
610 class = rhodecode.lib.logging_formatter.ColorFormatterSql
610 class = rhodecode.lib.logging_formatter.ColorFormatterSql
611 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
612 datefmt = %Y-%m-%d %H:%M:%S
612 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,581 +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 ## return gzipped responses from Rhodecode (static files/application)
103 static_files = true
103 gzip_responses = 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
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 ##############
548 ##############
549 ## HANDLERS ##
549 ## HANDLERS ##
550 ##############
550 ##############
551
551
552 [handler_console]
552 [handler_console]
553 class = StreamHandler
553 class = StreamHandler
554 args = (sys.stderr,)
554 args = (sys.stderr,)
555 level = INFO
555 level = INFO
556 formatter = generic
556 formatter = generic
557
557
558 [handler_console_sql]
558 [handler_console_sql]
559 class = StreamHandler
559 class = StreamHandler
560 args = (sys.stderr,)
560 args = (sys.stderr,)
561 level = WARN
561 level = WARN
562 formatter = generic
562 formatter = generic
563
563
564 ################
564 ################
565 ## FORMATTERS ##
565 ## FORMATTERS ##
566 ################
566 ################
567
567
568 [formatter_generic]
568 [formatter_generic]
569 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
569 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
570 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
571 datefmt = %Y-%m-%d %H:%M:%S
571 datefmt = %Y-%m-%d %H:%M:%S
572
572
573 [formatter_color_formatter]
573 [formatter_color_formatter]
574 class = rhodecode.lib.logging_formatter.ColorFormatter
574 class = rhodecode.lib.logging_formatter.ColorFormatter
575 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
576 datefmt = %Y-%m-%d %H:%M:%S
576 datefmt = %Y-%m-%d %H:%M:%S
577
577
578 [formatter_color_formatter_sql]
578 [formatter_color_formatter_sql]
579 class = rhodecode.lib.logging_formatter.ColorFormatterSql
579 class = rhodecode.lib.logging_formatter.ColorFormatterSql
580 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
581 datefmt = %Y-%m-%d %H:%M:%S
581 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,33 +1,33 b''
1 Apache Reverse Proxy
1 Apache Reverse Proxy
2 ^^^^^^^^^^^^^^^^^^^^
2 ^^^^^^^^^^^^^^^^^^^^
3
3
4 Here is a sample configuration file for using Apache as a reverse proxy.
4 Here is a sample configuration file for using Apache as a reverse proxy.
5
5
6 .. code-block:: apache
6 .. code-block:: apache
7
7
8 <VirtualHost *:80>
8 <VirtualHost *:80>
9 ServerName hg.myserver.com
9 ServerName hg.myserver.com
10 ServerAlias hg.myserver.com
10 ServerAlias hg.myserver.com
11
11
12 ## uncomment root directive if you want to serve static files by
12 ## uncomment to serve static files by Apache
13 ## Apache requires static_files = false in .ini file
13 ## ProxyPass /_static !
14 #DocumentRoot /path/to/rhodecode/installation/public
14 ## Alias /_static /path/to/rhodecode/installation/public
15
15
16 <Proxy *>
16 <Proxy *>
17 Order allow,deny
17 Order allow,deny
18 Allow from all
18 Allow from all
19 </Proxy>
19 </Proxy>
20
20
21 ## Important !
21 ## Important !
22 ## Directive to properly generate url (clone url) for pylons
22 ## Directive to properly generate url (clone url) for pylons
23 ProxyPreserveHost On
23 ProxyPreserveHost On
24
24
25 ## RhodeCode instance running
25 ## RhodeCode instance running
26 ProxyPass / http://127.0.0.1:10002/
26 ProxyPass / http://127.0.0.1:10002/
27 ProxyPassReverse / http://127.0.0.1:10002/
27 ProxyPassReverse / http://127.0.0.1:10002/
28
28
29 ## to enable https use line below
29 ## to enable https use line below
30 #SetEnvIf X-Url-Scheme https HTTPS=1
30 #SetEnvIf X-Url-Scheme https HTTPS=1
31
31
32 </VirtualHost>
32 </VirtualHost>
33
33
@@ -1,72 +1,73 b''
1 Nginx Configuration Example
1 Nginx Configuration Example
2 ---------------------------
2 ---------------------------
3
3
4 Use the following example to configure Nginx as a your web server.
4 Use the following example to configure Nginx as a your web server.
5
5
6 .. code-block:: nginx
6 .. code-block:: nginx
7
7
8 upstream rc {
8 upstream rc {
9
9
10 server 127.0.0.1:10002;
10 server 127.0.0.1:10002;
11
11
12 # add more instances for load balancing
12 # add more instances for load balancing
13 # server 127.0.0.1:10003;
13 # server 127.0.0.1:10003;
14 # server 127.0.0.1:10004;
14 # server 127.0.0.1:10004;
15 }
15 }
16
16
17 ## gist alias
17 ## gist alias
18
18
19 server {
19 server {
20 listen 443;
20 listen 443;
21 server_name gist.myserver.com;
21 server_name gist.myserver.com;
22 access_log /var/log/nginx/gist.access.log;
22 access_log /var/log/nginx/gist.access.log;
23 error_log /var/log/nginx/gist.error.log;
23 error_log /var/log/nginx/gist.error.log;
24
24
25 ssl on;
25 ssl on;
26 ssl_certificate gist.rhodecode.myserver.com.crt;
26 ssl_certificate gist.rhodecode.myserver.com.crt;
27 ssl_certificate_key gist.rhodecode.myserver.com.key;
27 ssl_certificate_key gist.rhodecode.myserver.com.key;
28
28
29 ssl_session_timeout 5m;
29 ssl_session_timeout 5m;
30
30
31 ssl_protocols SSLv3 TLSv1;
31 ssl_protocols SSLv3 TLSv1;
32 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
32 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
33 ssl_prefer_server_ciphers on;
33 ssl_prefer_server_ciphers on;
34 add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
34 add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
35
35
36 # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
36 # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
37 ssl_dhparam /etc/nginx/ssl/dhparam.pem;
37 ssl_dhparam /etc/nginx/ssl/dhparam.pem;
38
38
39 rewrite ^/(.+)$ https://rhodecode.myserver.com/_admin/gists/$1;
39 rewrite ^/(.+)$ https://rhodecode.myserver.com/_admin/gists/$1;
40 rewrite (.*) https://rhodecode.myserver.com/_admin/gists;
40 rewrite (.*) https://rhodecode.myserver.com/_admin/gists;
41 }
41 }
42
42
43 server {
43 server {
44 listen 443;
44 listen 443;
45 server_name rhodecode.myserver.com;
45 server_name rhodecode.myserver.com;
46 access_log /var/log/nginx/rhodecode.access.log;
46 access_log /var/log/nginx/rhodecode.access.log;
47 error_log /var/log/nginx/rhodecode.error.log;
47 error_log /var/log/nginx/rhodecode.error.log;
48
48
49 ssl on;
49 ssl on;
50 ssl_certificate rhodecode.myserver.com.crt;
50 ssl_certificate rhodecode.myserver.com.crt;
51 ssl_certificate_key rhodecode.myserver.com.key;
51 ssl_certificate_key rhodecode.myserver.com.key;
52
52
53 ssl_session_timeout 5m;
53 ssl_session_timeout 5m;
54
54
55 ssl_protocols SSLv3 TLSv1;
55 ssl_protocols SSLv3 TLSv1;
56 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
56 ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
57 ssl_prefer_server_ciphers on;
57 ssl_prefer_server_ciphers on;
58
58
59 ## uncomment root directive if you want to serve static files by nginx
59 include /etc/nginx/proxy.conf;
60 ## requires static_files = false in .ini file
61 # root /path/to/rhodecode/installation/public;
62
60
63 include /etc/nginx/proxy.conf;
61 ## uncomment to serve static files by nginx
62 # location /_static {
63 # alias /path/to/rhodecode/installation/public;
64 # }
64
65
65 location / {
66 location / {
66 try_files $uri @rhode;
67 try_files $uri @rhode;
67 }
68 }
68
69
69 location @rhode {
70 location @rhode {
70 proxy_pass http://rc;
71 proxy_pass http://rc;
71 }
72 }
72 }
73 }
General Comments 0
You need to be logged in to leave comments. Login now