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