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