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