configs: use new style of comments on .ini files....
marcink -
r4169:089413ab default
Not Reviewed
Show More
Add another comment
TODOs: 0 unresolved 0 Resolved
COMMENTS: 0 General 0 Inline
This diff has been collapsed as it changes many lines, (904 lines changed) Show them Hide them
@@ -1,24 +1,24
1
1 ## -*- coding: utf-8 -*-
2
2
3 ################################################################################
3 ; #########################################
4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
4 ; RHODECODE COMMUNITY EDITION CONFIGURATION
5 ################################################################################
5 ; #########################################
6
6
7 [DEFAULT]
7 [DEFAULT]
8 ## Debug flag sets all loggers to debug, and enables request tracking
8 ; Debug flag sets all loggers to debug, and enables request tracking
9 debug = true
9 debug = true
10
10
11 ################################################################################
11 ; ########################################################################
12 ## EMAIL CONFIGURATION ##
12 ; EMAIL CONFIGURATION
13 ## Uncomment and replace with the email address which should receive ##
13 ; Uncomment and replace with the email address which should receive
14 ## any error reports after an application crash ##
14 ; any error reports after an application crash
15 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 ; Additionally these settings will be used by the RhodeCode mailing system
16 ################################################################################
16 ; ########################################################################
17
17
18 ## prefix all emails subjects with given prefix, helps filtering out emails
18 ; prefix all emails subjects with given prefix, helps filtering out emails
19 #email_prefix = [RhodeCode]
19 #email_prefix = [RhodeCode]
20
20
21 ## email FROM address all mails will be sent
21 ; email FROM address all mails will be sent
22 #app_email_from = rhodecode-noreply@localhost
22 #app_email_from = rhodecode-noreply@localhost
23
23
24 #smtp_server = mail.server.com
24 #smtp_server = mail.server.com
@@ -29,125 +29,139
29 #smtp_use_ssl = true
29 #smtp_use_ssl = true
30
30
31 [server:main]
31 [server:main]
32 ## COMMON ##
32 ; COMMON HOST/IP CONFIG
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 - Recommended for Development ####
37 ; WAITRESS WSGI SERVER - Recommended for Development
38 ###########################################################
38 ; ##################################################
39
39
40 ; use server type
40 use = egg:waitress#main
41 use = egg:waitress#main
41 ## number of worker threads
42
43 ; number of worker threads
42 threads = 5
44 threads = 5
43 ## MAX BODY SIZE 100GB
45
46 ; MAX BODY SIZE 100GB
44 max_request_body_size = 107374182400
47 max_request_body_size = 107374182400
45 ## Use poll instead of select, fixes file descriptors limits problems.
48
46 ## May not work on old windows systems.
49 ; Use poll instead of select, fixes file descriptors limits problems.
50 ; May not work on old windows systems.
47 asyncore_use_poll = true
51 asyncore_use_poll = true
48
52
49
53
50 ##########################
54 ; ###########################
51 ## GUNICORN WSGI SERVER ##
55 ; GUNICORN APPLICATION SERVER
52 ##########################
56 ; ###########################
53 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
54
57
58 ; run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
59
60 ; Module to use, this setting shouldn't be changed
55 #use = egg:gunicorn#main
61 #use = egg:gunicorn#main
56 ## Sets the number of process workers. More workers means more concurrent connections
62
57 ## RhodeCode can handle at the same time. Each additional worker also it increases
63 ; Sets the number of process workers. More workers means more concurrent connections
58 ## memory usage as each has it's own set of caches.
64 ; RhodeCode can handle at the same time. Each additional worker also it increases
59 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
65 ; memory usage as each has it's own set of caches.
60 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
66 ; Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
61 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
67 ; than 8-10 unless for really big deployments .e.g 700-1000 users.
62 ## when using more than 1 worker.
68 ; `instance_id = *` must be set in the [app:main] section below (which is the default)
69 ; when using more than 1 worker.
63 #workers = 2
70 #workers = 2
64
71
65 ## Gunicorn access log level
72 ; Gunicorn access log level
66 #loglevel = info
73 #loglevel = info
67
74
68 ## process name visible in process list
75 ; Process name visible in process list
69 #proc_name = rhodecode
76 #proc_name = rhodecode
70
77
71 ## type of worker class, one of sync, gevent
78 ; Type of worker class, one of `sync`, `gevent`
72 ## recommended for bigger setup is using of of other than sync one
79 ; Recommended type is `gevent`
73 #worker_class = gevent
80 #worker_class = gevent
74
81
75 ## The maximum number of simultaneous clients. Valid only for Gevent
82 ; The maximum number of simultaneous clients. Valid only for gevent
76 #worker_connections = 10
83 #worker_connections = 10
77
84
78 ## max number of requests that worker will handle before being gracefully
85 ; Max number of requests that worker will handle before being gracefully restarted.
79 ## restarted, could prevent memory leaks
86 ; Prevents memory leaks, jitter adds variability so not all workers are restarted at once.
80 #max_requests = 1000
87 #max_requests = 1000
81 #max_requests_jitter = 30
88 #max_requests_jitter = 30
82
89
83 ## amount of time a worker can spend with handling a request before it
90 ; Amount of time a worker can spend with handling a request before it
84 ## gets killed and restarted. Set to 6hrs
91 ; gets killed and restarted. By default set to 21600 (6hrs)
92 ; Examples: 1800 (30min), 3600 (1hr), 7200 (2hr), 43200 (12h)
85 #timeout = 21600
93 #timeout = 21600
86
94
87 ## The maximum size of HTTP request line in bytes.
95 ; The maximum size of HTTP request line in bytes.
88 ## 0 for unlimited
96 ; 0 for unlimited
89 #limit_request_line = 0
97 #limit_request_line = 0
90
98
91 ## Limit the number of HTTP headers fields in a request.
99 ; Limit the number of HTTP headers fields in a request.
92 ## By default this value is 100 and can't be larger than 32768.
100 ; By default this value is 100 and can't be larger than 32768.
93 #limit_request_fields = 32768
101 #limit_request_fields = 32768
94
102
95 ## Limit the allowed size of an HTTP request header field.
103 ; Limit the allowed size of an HTTP request header field.
96 ## Value is a positive number or 0.
104 ; Value is a positive number or 0.
97 ## Setting it to 0 will allow unlimited header field sizes.
105 ; Setting it to 0 will allow unlimited header field sizes.
98 #limit_request_field_size = 0
106 #limit_request_field_size = 0
99
107
100 ## Timeout for graceful workers restart.
108 ; Timeout for graceful workers restart.
101 ## After receiving a restart signal, workers have this much time to finish
109 ; After receiving a restart signal, workers have this much time to finish
102 ## serving requests. Workers still alive after the timeout (starting from the
110 ; serving requests. Workers still alive after the timeout (starting from the
103 ## receipt of the restart signal) are force killed.
111 ; receipt of the restart signal) are force killed.
112 ; Examples: 1800 (30min), 3600 (1hr), 7200 (2hr), 43200 (12h)
104 #graceful_timeout = 3600
113 #graceful_timeout = 3600
105
114
106 # The number of seconds to wait for requests on a Keep-Alive connection.
115 # The number of seconds to wait for requests on a Keep-Alive connection.
107 # Generally set in the 1-5 seconds range.
116 # Generally set in the 1-5 seconds range.
108 #keepalive = 2
117 #keepalive = 2
109
118
110 ## Maximum memory usage that each worker can use before it will receive a
119 ; Maximum memory usage that each worker can use before it will receive a
111 ## graceful restart signal, e.g 10MB = 10485760 (10 * 1024 * 1024)
120 ; graceful restart signal 0 = memory monitoring is disabled
112 # 0 = memory monitoring is disabled
121 ; Examples: 268435456 (256MB), 536870912 (512MB)
122 ; 1073741824 (1GB), 2147483648 (2GB), 4294967296 (4GB)
113 #memory_max_usage = 0
123 #memory_max_usage = 0
114
124
115 ## How often in seconds to check for memory usage for each gunicorn worker
125 ; How often in seconds to check for memory usage for each gunicorn worker
116 #memory_usage_check_interval = 60
126 #memory_usage_check_interval = 60
117
127
118 ## Threshold value for which we don't recycle worker if GarbageCollection
128 ; Threshold value for which we don't recycle worker if GarbageCollection
119 ## frees up enough resources. Before each restart we try to run GC on worker
129 ; frees up enough resources. Before each restart we try to run GC on worker
120 ## in case we get enough free memory after that, restart will not happen.
130 ; in case we get enough free memory after that, restart will not happen.
121 #memory_usage_recovery_threshold = 0.8
131 #memory_usage_recovery_threshold = 0.8
122
132
123 ## prefix middleware for RhodeCode.
133
124 ## recommended when using proxy setup.
134 ; Prefix middleware for RhodeCode.
125 ## allows to set RhodeCode under a prefix in server.
135 ; recommended when using proxy setup.
126 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
136 ; allows to set RhodeCode under a prefix in server.
127 ## And set your prefix like: `prefix = /custom_prefix`
137 ; eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
128 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
138 ; And set your prefix like: `prefix = /custom_prefix`
129 ## to make your cookies only work on prefix url
139 ; be sure to also set beaker.session.cookie_path = /custom_prefix if you need
140 ; to make your cookies only work on prefix url
130 [filter:proxy-prefix]
141 [filter:proxy-prefix]
131 use = egg:PasteDeploy#prefix
142 use = egg:PasteDeploy#prefix
132 prefix = /
143 prefix = /
133
144
134 [app:main]
145 [app:main]
135 ## The %(here)s variable will be replaced with the absolute path of parent directory
146 ; The %(here)s variable will be replaced with the absolute path of parent directory
136 ## of this file
147 ; of this file
137 ## In addition ENVIRONMENT variables usage is possible, e.g
148 ; In addition ENVIRONMENT variables usage is possible, e.g
138 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
149 ; sqlalchemy.db1.url = {ENV_RC_DB_URL}
139
150
140 use = egg:rhodecode-enterprise-ce
151 use = egg:rhodecode-enterprise-ce
141
152
142 ## enable proxy prefix middleware, defined above
153 ; enable proxy prefix middleware, defined above
143 #filter-with = proxy-prefix
154 #filter-with = proxy-prefix
144
155
156 ; #############
157 ; DEBUG OPTIONS
158 ; #############
159
160 pyramid.reload_templates = true
161
145 # During development the we want to have the debug toolbar enabled
162 # During development the we want to have the debug toolbar enabled
146 pyramid.includes =
163 pyramid.includes =
147 pyramid_debugtoolbar
164 pyramid_debugtoolbar
148 rhodecode.lib.middleware.request_wrapper
149
150 pyramid.reload_templates = true
151
165
152 debugtoolbar.hosts = 0.0.0.0/0
166 debugtoolbar.hosts = 0.0.0.0/0
153 debugtoolbar.exclude_prefixes =
167 debugtoolbar.exclude_prefixes =
@@ -164,97 +178,100
164 # api prefix url
178 # api prefix url
165 rhodecode.api.url = /_admin/api
179 rhodecode.api.url = /_admin/api
166
180
167
181 ; enable debug style page
168 ## END RHODECODE PLUGINS ##
182 debug_style = true
169
183
170 ## encryption key used to encrypt social plugin tokens,
184 ; #################
171 ## remote_urls with credentials etc, if not set it defaults to
185 ; END DEBUG OPTIONS
172 ## `beaker.session.secret`
186 ; #################
187
188 ; encryption key used to encrypt social plugin tokens,
189 ; remote_urls with credentials etc, if not set it defaults to
190 ; `beaker.session.secret`
173 #rhodecode.encrypted_values.secret =
191 #rhodecode.encrypted_values.secret =
174
192
175 ## decryption strict mode (enabled by default). It controls if decryption raises
193 ; decryption strict mode (enabled by default). It controls if decryption raises
176 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
194 ; `SignatureVerificationError` in case of wrong key, or damaged encryption data.
177 #rhodecode.encrypted_values.strict = false
195 #rhodecode.encrypted_values.strict = false
178
196
179 ## Pick algorithm for encryption. Either fernet (more secure) or aes (default)
197 ; Pick algorithm for encryption. Either fernet (more secure) or aes (default)
180 ## fernet is safer, and we strongly recommend switching to it.
198 ; fernet is safer, and we strongly recommend switching to it.
181 ## Due to backward compatibility aes is used as default.
199 ; Due to backward compatibility aes is used as default.
182 #rhodecode.encrypted_values.algorithm = fernet
200 #rhodecode.encrypted_values.algorithm = fernet
183
201
184 ## return gzipped responses from RhodeCode (static files/application)
202 ; Return gzipped responses from RhodeCode (static files/application)
185 gzip_responses = false
203 gzip_responses = false
186
204
187 ## auto-generate javascript routes file on startup
205 ; Auto-generate javascript routes file on startup
188 generate_js_files = false
206 generate_js_files = false
189
207
190 ## System global default language.
208 ; System global default language.
191 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
209 ; All available languages: en (default), be, de, es, fr, it, ja, pl, pt, ru, zh
192 lang = en
210 lang = en
193
211
194 ## Perform a full repository scan and import on each server start.
212 ; Perform a full repository scan and import on each server start.
195 ## Settings this to true could lead to very long startup time.
213 ; Settings this to true could lead to very long startup time.
196 startup.import_repos = false
214 startup.import_repos = false
197
215
198 ## Uncomment and set this path to use archive download cache.
216 ; Uncomment and set this path to use archive download cache.
199 ## Once enabled, generated archives will be cached at this location
217 ; Once enabled, generated archives will be cached at this location
200 ## and served from the cache during subsequent requests for the same archive of
218 ; and served from the cache during subsequent requests for the same archive of
201 ## the repository.
219 ; the repository.
202 #archive_cache_dir = /tmp/tarballcache
220 #archive_cache_dir = /tmp/tarballcache
203
221
204 ## URL at which the application is running. This is used for Bootstrapping
222 ; URL at which the application is running. This is used for Bootstrapping
205 ## requests in context when no web request is available. Used in ishell, or
223 ; requests in context when no web request is available. Used in ishell, or
206 ## SSH calls. Set this for events to receive proper url for SSH calls.
224 ; SSH calls. Set this for events to receive proper url for SSH calls.
207 app.base_url = http://rhodecode.local
225 app.base_url = http://rhodecode.local
208
226
209 ## Unique application ID. Should be a random unique string for security.
227 ; Unique application ID. Should be a random unique string for security.
210 app_instance_uuid = rc-production
228 app_instance_uuid = rc-production
211
229
212 ## Cut off limit for large diffs (size in bytes). If overall diff size on
230 ; Cut off limit for large diffs (size in bytes). If overall diff size on
213 ## commit, or pull request exceeds this limit this diff will be displayed
231 ; commit, or pull request exceeds this limit this diff will be displayed
214 ## partially. E.g 512000 == 512Kb
232 ; partially. E.g 512000 == 512Kb
215 cut_off_limit_diff = 512000
233 cut_off_limit_diff = 512000
216
234
217 ## Cut off limit for large files inside diffs (size in bytes). Each individual
235 ; Cut off limit for large files inside diffs (size in bytes). Each individual
218 ## file inside diff which exceeds this limit will be displayed partially.
236 ; file inside diff which exceeds this limit will be displayed partially.
219 ## E.g 128000 == 128Kb
237 ; E.g 128000 == 128Kb
220 cut_off_limit_file = 128000
238 cut_off_limit_file = 128000
221
239
222 ## use cached version of vcs repositories everywhere. Recommended to be `true`
240 ; Use cached version of vcs repositories everywhere. Recommended to be `true`
223 vcs_full_cache = true
241 vcs_full_cache = true
224
242
225 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
243 ; Force https in RhodeCode, fixes https redirects, assumes it's always https.
226 ## Normally this is controlled by proper http flags sent from http server
244 ; Normally this is controlled by proper flags sent from http server such as Nginx or Apache
227 force_https = false
245 force_https = false
228
246
229 ## use Strict-Transport-Security headers
247 ; use Strict-Transport-Security headers
230 use_htsts = false
248 use_htsts = false
231
249
232 # Set to true if your repos are exposed using the dumb protocol
250 ; Set to true if your repos are exposed using the dumb protocol
233 git_update_server_info = false
251 git_update_server_info = false
234
252
235 ## RSS/ATOM feed options
253 ; RSS/ATOM feed options
236 rss_cut_off_limit = 256000
254 rss_cut_off_limit = 256000
237 rss_items_per_page = 10
255 rss_items_per_page = 10
238 rss_include_diff = false
256 rss_include_diff = false
239
257
240 ## gist URL alias, used to create nicer urls for gist. This should be an
258 ; gist URL alias, used to create nicer urls for gist. This should be an
241 ## url that does rewrites to _admin/gists/{gistid}.
259 ; url that does rewrites to _admin/gists/{gistid}.
242 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
260 ; example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
243 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
261 ; RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
244 gist_alias_url =
262 gist_alias_url =
245
263
246 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
264 ; List of views (using glob pattern syntax) that AUTH TOKENS could be
247 ## used for access.
265 ; used for access.
248 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
266 ; Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
249 ## came from the the logged in user who own this authentication token.
267 ; came from the the logged in user who own this authentication token.
250 ## Additionally @TOKEN syntax can be used to bound the view to specific
268 ; Additionally @TOKEN syntax can be used to bound the view to specific
251 ## authentication token. Such view would be only accessible when used together
269 ; authentication token. Such view would be only accessible when used together
252 ## with this authentication token
270 ; with this authentication token
253 ##
271 ; list of all views can be found under `/_admin/permissions/auth_token_access`
254 ## list of all views can be found under `/_admin/permissions/auth_token_access`
272 ; The list should be "," separated and on a single line.
255 ## The list should be "," separated and on a single line.
273 ; Most common views to enable:
256 ##
274
257 ## Most common views to enable:
258 # RepoCommitsView:repo_commit_download
275 # RepoCommitsView:repo_commit_download
259 # RepoCommitsView:repo_commit_patch
276 # RepoCommitsView:repo_commit_patch
260 # RepoCommitsView:repo_commit_raw
277 # RepoCommitsView:repo_commit_raw
@@ -265,173 +282,193
265 # GistView:*
282 # GistView:*
266 api_access_controllers_whitelist =
283 api_access_controllers_whitelist =
267
284
268 ## Default encoding used to convert from and to unicode
285 ; Default encoding used to convert from and to unicode
269 ## can be also a comma separated list of encoding in case of mixed encodings
286 ; can be also a comma separated list of encoding in case of mixed encodings
270 default_encoding = UTF-8
287 default_encoding = UTF-8
271
288
272 ## instance-id prefix
289 ; instance-id prefix
273 ## a prefix key for this instance used for cache invalidation when running
290 ; a prefix key for this instance used for cache invalidation when running
274 ## multiple instances of RhodeCode, make sure it's globally unique for
291 ; multiple instances of RhodeCode, make sure it's globally unique for
275 ## all running RhodeCode instances. Leave empty if you don't use it
292 ; all running RhodeCode instances. Leave empty if you don't use it
276 instance_id =
293 instance_id =
277
294
278 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
295 ; Fallback authentication plugin. Set this to a plugin ID to force the usage
279 ## of an authentication plugin also if it is disabled by it's settings.
296 ; of an authentication plugin also if it is disabled by it's settings.
280 ## This could be useful if you are unable to log in to the system due to broken
297 ; This could be useful if you are unable to log in to the system due to broken
281 ## authentication settings. Then you can enable e.g. the internal RhodeCode auth
298 ; authentication settings. Then you can enable e.g. the internal RhodeCode auth
282 ## module to log in again and fix the settings.
299 ; module to log in again and fix the settings.
283 ##
300 ; Available builtin plugin IDs (hash is part of the ID):
284 ## Available builtin plugin IDs (hash is part of the ID):
301 ; egg:rhodecode-enterprise-ce#rhodecode
285 ## egg:rhodecode-enterprise-ce#rhodecode
302 ; egg:rhodecode-enterprise-ce#pam
286 ## egg:rhodecode-enterprise-ce#pam
303 ; egg:rhodecode-enterprise-ce#ldap
287 ## egg:rhodecode-enterprise-ce#ldap
304 ; egg:rhodecode-enterprise-ce#jasig_cas
288 ## egg:rhodecode-enterprise-ce#jasig_cas
305 ; egg:rhodecode-enterprise-ce#headers
289 ## egg:rhodecode-enterprise-ce#headers
306 ; egg:rhodecode-enterprise-ce#crowd
290 ## egg:rhodecode-enterprise-ce#crowd
307
291 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
308 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
292
309
293 ## Flag to control loading of legacy plugins in py:/path format
310 ; Flag to control loading of legacy plugins in py:/path format
294 auth_plugin.import_legacy_plugins = true
311 auth_plugin.import_legacy_plugins = true
295
312
296 ## alternative return HTTP header for failed authentication. Default HTTP
313 ; alternative return HTTP header for failed authentication. Default HTTP
297 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
314 ; response is 401 HTTPUnauthorized. Currently HG clients have troubles with
298 ## handling that causing a series of failed authentication calls.
315 ; handling that causing a series of failed authentication calls.
299 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
316 ; Set this variable to 403 to return HTTPForbidden, or any other HTTP code
300 ## This will be served instead of default 401 on bad authentication
317 ; This will be served instead of default 401 on bad authentication
301 auth_ret_code =
318 auth_ret_code =
302
319
303 ## use special detection method when serving auth_ret_code, instead of serving
320 ; use special detection method when serving auth_ret_code, instead of serving
304 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
321 ; ret_code directly, use 401 initially (Which triggers credentials prompt)
305 ## and then serve auth_ret_code to clients
322 ; and then serve auth_ret_code to clients
306 auth_ret_code_detection = false
323 auth_ret_code_detection = false
307
324
308 ## locking return code. When repository is locked return this HTTP code. 2XX
325 ; locking return code. When repository is locked return this HTTP code. 2XX
309 ## codes don't break the transactions while 4XX codes do
326 ; codes don't break the transactions while 4XX codes do
310 lock_ret_code = 423
327 lock_ret_code = 423
311
328
312 ## allows to change the repository location in settings page
329 ; allows to change the repository location in settings page
313 allow_repo_location_change = true
330 allow_repo_location_change = true
314
331
315 ## allows to setup custom hooks in settings page
332 ; allows to setup custom hooks in settings page
316 allow_custom_hooks_settings = true
333 allow_custom_hooks_settings = true
317
334
318 ## Generated license token required for EE edition license.
335 ; Generated license token required for EE edition license.
319 ## New generated token value can be found in Admin > settings > license page.
336 ; New generated token value can be found in Admin > settings > license page.
320 license_token =
337 license_token =
321
338
322 ## This flag would hide sensitive information on the license page
339 ; This flag hides sensitive information on the license page such as token, and license data
323 license.hide_license_info = false
340 license.hide_license_info = false
324
341
325 ## supervisor connection uri, for managing supervisor and logs.
342 ; supervisor connection uri, for managing supervisor and logs.
326 supervisor.uri =
343 supervisor.uri =
327 ## supervisord group name/id we only want this RC instance to handle
344
345 ; supervisord group name/id we only want this RC instance to handle
328 supervisor.group_id = dev
346 supervisor.group_id = dev
329
347
330 ## Display extended labs settings
348 ; Display extended labs settings
331 labs_settings_active = true
349 labs_settings_active = true
332
350
333 ## Custom exception store path, defaults to TMPDIR
351 ; Custom exception store path, defaults to TMPDIR
334 ## This is used to store exception from RhodeCode in shared directory
352 ; This is used to store exception from RhodeCode in shared directory
335 #exception_tracker.store_path =
353 #exception_tracker.store_path =
336
354
337 ## File store configuration. This is used to store and serve uploaded files
355 ; File store configuration. This is used to store and serve uploaded files
338 file_store.enabled = true
356 file_store.enabled = true
339 ## Storage backend, available options are: local
357
358 ; Storage backend, available options are: local
340 file_store.backend = local
359 file_store.backend = local
341 ## path to store the uploaded binaries
360
361 ; path to store the uploaded binaries
342 file_store.storage_path = %(here)s/data/file_store
362 file_store.storage_path = %(here)s/data/file_store
343
363
344
364
345 ####################################
365 ; #############
346 ### CELERY CONFIG ####
366 ; CELERY CONFIG
347 ####################################
367 ; #############
348 ## run: /path/to/celery worker \
368
349 ## -E --beat --app rhodecode.lib.celerylib.loader \
369 ; run: /path/to/celery worker \
350 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
370 ; -E --beat --app rhodecode.lib.celerylib.loader \
351 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
371 ; --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
372 ; --loglevel DEBUG --ini /path/to/rhodecode.ini
352
373
353 use_celery = false
374 use_celery = false
354
375
355 ## connection url to the message broker (default redis)
376 ; connection url to the message broker (default redis)
356 celery.broker_url = redis://localhost:6379/8
377 celery.broker_url = redis://localhost:6379/8
357
378
358 ## rabbitmq example
379 ; rabbitmq example
359 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
380 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
360
381
361 ## maximum tasks to execute before worker restart
382 ; maximum tasks to execute before worker restart
362 celery.max_tasks_per_child = 100
383 celery.max_tasks_per_child = 100
363
384
364 ## tasks will never be sent to the queue, but executed locally instead.
385 ; tasks will never be sent to the queue, but executed locally instead.
365 celery.task_always_eager = false
386 celery.task_always_eager = false
366
387
367 #####################################
388 ; #############
368 ### DOGPILE CACHE ####
389 ; DOGPILE CACHE
369 #####################################
390 ; #############
370 ## Default cache dir for caches. Putting this into a ramdisk
391
371 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
392 ; Default cache dir for caches. Putting this into a ramdisk can boost performance.
372 ## large amount of space
393 ; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
373 cache_dir = %(here)s/data
394 cache_dir = %(here)s/data
374
395
375 ## `cache_perms` cache settings for permission tree, auth TTL.
396 ; *********************************************
397 ; `sql_cache_short` cache for heavy SQL queries
398 ; Only supported backend is `memory_lru`
399 ; *********************************************
400 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
401 rc_cache.sql_cache_short.expiration_time = 30
402
403
404 ; *****************************************************
405 ; `cache_repo_longterm` cache for repo object instances
406 ; Only supported backend is `memory_lru`
407 ; *****************************************************
408 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
409 ; by default we use 30 Days, cache is still invalidated on push
410 rc_cache.cache_repo_longterm.expiration_time = 2592000
411 ; max items in LRU cache, set to smaller number to save memory, and expire last used caches
412 rc_cache.cache_repo_longterm.max_size = 10000
413
414
415 ; *************************************************
416 ; `cache_perms` cache for permission tree, auth TTL
417 ; *************************************************
376 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
418 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
377 rc_cache.cache_perms.expiration_time = 300
419 rc_cache.cache_perms.expiration_time = 300
378
420
379 ## alternative `cache_perms` redis backend with distributed lock
421 ; alternative `cache_perms` redis backend with distributed lock
380 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
422 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
381 #rc_cache.cache_perms.expiration_time = 300
423 #rc_cache.cache_perms.expiration_time = 300
382 ## redis_expiration_time needs to be greater then expiration_time
424
425 ; redis_expiration_time needs to be greater then expiration_time
383 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
426 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
384 #rc_cache.cache_perms.arguments.socket_timeout = 30
427
385 #rc_cache.cache_perms.arguments.host = localhost
428 #rc_cache.cache_perms.arguments.host = localhost
386 #rc_cache.cache_perms.arguments.port = 6379
429 #rc_cache.cache_perms.arguments.port = 6379
387 #rc_cache.cache_perms.arguments.db = 0
430 #rc_cache.cache_perms.arguments.db = 0
388 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
431 #rc_cache.cache_perms.arguments.socket_timeout = 30
432 ; more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
389 #rc_cache.cache_perms.arguments.distributed_lock = true
433 #rc_cache.cache_perms.arguments.distributed_lock = true
390
434
391 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
435
436 ; ***************************************************
437 ; `cache_repo` cache for file tree, Readme, RSS FEEDS
438 ; ***************************************************
392 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
439 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
393 rc_cache.cache_repo.expiration_time = 2592000
440 rc_cache.cache_repo.expiration_time = 2592000
394
441
395 ## alternative `cache_repo` redis backend with distributed lock
442 ; alternative `cache_repo` redis backend with distributed lock
396 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
443 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
397 #rc_cache.cache_repo.expiration_time = 2592000
444 #rc_cache.cache_repo.expiration_time = 2592000
398 ## redis_expiration_time needs to be greater then expiration_time
445
446 ; redis_expiration_time needs to be greater then expiration_time
399 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
447 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
400 #rc_cache.cache_repo.arguments.socket_timeout = 30
448
401 #rc_cache.cache_repo.arguments.host = localhost
449 #rc_cache.cache_repo.arguments.host = localhost
402 #rc_cache.cache_repo.arguments.port = 6379
450 #rc_cache.cache_repo.arguments.port = 6379
403 #rc_cache.cache_repo.arguments.db = 1
451 #rc_cache.cache_repo.arguments.db = 1
404 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
452 #rc_cache.cache_repo.arguments.socket_timeout = 30
453 ; more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
405 #rc_cache.cache_repo.arguments.distributed_lock = true
454 #rc_cache.cache_repo.arguments.distributed_lock = true
406
455
407 ## cache settings for SQL queries, this needs to use memory type backend
408 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
409 rc_cache.sql_cache_short.expiration_time = 30
410
456
411 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
457 ; ##############
412 ## type backend as the objects kept are not pickle serializable
458 ; BEAKER SESSION
413 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
459 ; ##############
414 ## by default we use 96H, this is using invalidation on push anyway
415 rc_cache.cache_repo_longterm.expiration_time = 345600
416 ## max items in LRU cache, reduce this number to save memory, and expire last used
417 ## cached objects
418 rc_cache.cache_repo_longterm.max_size = 10000
419
460
420
461 ; beaker.session.type is type of storage options for the logged users sessions. Current allowed
421 ####################################
462 ; types are file, ext:redis, ext:database, ext:memcached, and memory (default if not specified).
422 ### BEAKER SESSION ####
463 ; Fastest ones are Redis and ext:database
423 ####################################
424
425 ## .session.type is type of storage options for the session, current allowed
426 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
427 beaker.session.type = file
464 beaker.session.type = file
428 beaker.session.data_dir = %(here)s/data/sessions
465 beaker.session.data_dir = %(here)s/data/sessions
429
466
430 ## redis sessions
467 ; Redis based sessions
431 #beaker.session.type = ext:redis
468 #beaker.session.type = ext:redis
432 #beaker.session.url = redis://127.0.0.1:6379/2
469 #beaker.session.url = redis://127.0.0.1:6379/2
433
470
434 ## db based session, fast, and allows easy management over logged in users
471 ; DB based session, fast, and allows easy management over logged in users
435 #beaker.session.type = ext:database
472 #beaker.session.type = ext:database
436 #beaker.session.table_name = db_session
473 #beaker.session.table_name = db_session
437 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
474 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
@@ -443,266 +480,275
443 beaker.session.secret = develop-rc-uytcxaz
480 beaker.session.secret = develop-rc-uytcxaz
444 beaker.session.lock_dir = %(here)s/data/sessions/lock
481 beaker.session.lock_dir = %(here)s/data/sessions/lock
445
482
446 ## Secure encrypted cookie. Requires AES and AES python libraries
483 ; Secure encrypted cookie. Requires AES and AES python libraries
447 ## you must disable beaker.session.secret to use this
484 ; you must disable beaker.session.secret to use this
448 #beaker.session.encrypt_key = key_for_encryption
485 #beaker.session.encrypt_key = key_for_encryption
449 #beaker.session.validate_key = validation_key
486 #beaker.session.validate_key = validation_key
450
487
451 ## sets session as invalid(also logging out user) if it haven not been
488 ; Sets session as invalid (also logging out user) if it haven not been
452 ## accessed for given amount of time in seconds
489 ; accessed for given amount of time in seconds
453 beaker.session.timeout = 2592000
490 beaker.session.timeout = 2592000
454 beaker.session.httponly = true
491 beaker.session.httponly = true
455 ## Path to use for the cookie. Set to prefix if you use prefix middleware
492
493 ; Path to use for the cookie. Set to prefix if you use prefix middleware
456 #beaker.session.cookie_path = /custom_prefix
494 #beaker.session.cookie_path = /custom_prefix
457
495
458 ## uncomment for https secure cookie
496 ; Set https secure cookie
459 beaker.session.secure = false
497 beaker.session.secure = false
460
498
461 ## auto save the session to not to use .save()
499 ; default cookie expiration time in seconds, set to `true` to set expire
462 beaker.session.auto = false
500 ; at browser close
463
464 ## default cookie expiration time in seconds, set to `true` to set expire
465 ## at browser close
466 #beaker.session.cookie_expires = 3600
501 #beaker.session.cookie_expires = 3600
467
502
468 ###################################
503 ; #############################
469 ## SEARCH INDEXING CONFIGURATION ##
504 ; SEARCH INDEXING CONFIGURATION
470 ###################################
505 ; #############################
471 ## Full text search indexer is available in rhodecode-tools under
472 ## `rhodecode-tools index` command
473
506
474 ## WHOOSH Backend, doesn't require additional services to run
507 ; Full text search indexer is available in rhodecode-tools under
475 ## it works good with few dozen repos
508 ; `rhodecode-tools index` command
509
510 ; WHOOSH Backend, doesn't require additional services to run
511 ; it works good with few dozen repos
476 search.module = rhodecode.lib.index.whoosh
512 search.module = rhodecode.lib.index.whoosh
477 search.location = %(here)s/data/index
513 search.location = %(here)s/data/index
478
514
479 ########################################
515 ; ####################
480 ### CHANNELSTREAM CONFIG ####
516 ; CHANNELSTREAM CONFIG
481 ########################################
517 ; ####################
482 ## channelstream enables persistent connections and live notification
518
483 ## in the system. It's also used by the chat system
519 ; channelstream enables persistent connections and live notification
520 ; in the system. It's also used by the chat system
484
521
485 channelstream.enabled = false
522 channelstream.enabled = false
486
523
487 ## server address for channelstream server on the backend
524 ; server address for channelstream server on the backend
488 channelstream.server = 127.0.0.1:9800
525 channelstream.server = 127.0.0.1:9800
489
526
490 ## location of the channelstream server from outside world
527 ; location of the channelstream server from outside world
491 ## use ws:// for http or wss:// for https. This address needs to be handled
528 ; use ws:// for http or wss:// for https. This address needs to be handled
492 ## by external HTTP server such as Nginx or Apache
529 ; by external HTTP server such as Nginx or Apache
493 ## see Nginx/Apache configuration examples in our docs
530 ; see Nginx/Apache configuration examples in our docs
494 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
531 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
495 channelstream.secret = secret
532 channelstream.secret = secret
496 channelstream.history.location = %(here)s/channelstream_history
533 channelstream.history.location = %(here)s/channelstream_history
497
534
498 ## Internal application path that Javascript uses to connect into.
535 ; Internal application path that Javascript uses to connect into.
499 ## If you use proxy-prefix the prefix should be added before /_channelstream
536 ; If you use proxy-prefix the prefix should be added before /_channelstream
500 channelstream.proxy_path = /_channelstream
537 channelstream.proxy_path = /_channelstream
501
538
502
539
503 ###################################
540 ; ##############################
504 ## APPENLIGHT CONFIG ##
541 ; MAIN RHODECODE DATABASE CONFIG
505 ###################################
542 ; ##############################
543
544 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
545 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
546 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
547 ; pymysql is an alternative driver for MySQL, use in case of problems with default one
548 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
549
550 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
551
552 ; see sqlalchemy docs for other advanced settings
553 ; print the sql statements to output
554 sqlalchemy.db1.echo = false
555
556 ; recycle the connections after this amount of seconds
557 sqlalchemy.db1.pool_recycle = 3600
558 sqlalchemy.db1.convert_unicode = true
559
560 ; the number of connections to keep open inside the connection pool.
561 ; 0 indicates no limit
562 #sqlalchemy.db1.pool_size = 5
563
564 ; The number of connections to allow in connection pool "overflow", that is
565 ; connections that can be opened above and beyond the pool_size setting,
566 ; which defaults to five.
567 #sqlal