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