##// END OF EJS Templates
dependencies: freeze wcwidth==0.1.7 and packaging==19.2.0
dependencies: freeze wcwidth==0.1.7 and packaging==19.2.0

File last commit:

r801:ecde08b9 default
r805:000fffab default
Show More
production.ini
175 lines | 5.2 KiB | text/x-ini | IniLexer
################################################################################
# RhodeCode VCSServer with HTTP Backend - configuration #
################################################################################
[server:main]
## COMMON ##
host = 127.0.0.1
port = 9900
###########################################################
## WAITRESS WSGI SERVER - Recommended for Development ####
###########################################################
#use = egg:waitress#main
## number of worker threads
#threads = 5
## MAX BODY SIZE 100GB
#max_request_body_size = 107374182400
## Use poll instead of select, fixes file descriptors limits problems.
## May not work on old windows systems.
#asyncore_use_poll = true
##########################
## GUNICORN WSGI SERVER ##
##########################
## run with gunicorn --log-config vcsserver.ini --paste vcsserver.ini
use = egg:gunicorn#main
## Sets the number of process workers. More workers means more concurrent connections
## RhodeCode can handle at the same time. Each additional worker also it increases
## memory usage as each has it's own set of caches.
## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
## than 8-10 unless for really big deployments .e.g 700-1000 users.
## `instance_id = *` must be set in the [app:main] section below (which is the default)
## when using more than 1 worker.
workers = 2
## Gunicorn access log level
loglevel = info
## process name visible in process list
proc_name = rhodecode_vcsserver
## type of worker class, currently `sync` is the only option allowed.
worker_class = sync
## The maximum number of simultaneous clients. Valid only for Gevent
worker_connections = 10
## max number of requests that worker will handle before being gracefully
## restarted, could prevent memory leaks
max_requests = 1000
max_requests_jitter = 30
## amount of time a worker can spend with handling a request before it
## gets killed and restarted. Set to 6hrs
timeout = 21600
## The maximum size of HTTP request line in bytes.
## 0 for unlimited
limit_request_line = 0
## Limit the number of HTTP headers fields in a request.
## By default this value is 100 and can't be larger than 32768.
limit_request_fields = 32768
## Limit the allowed size of an HTTP request header field.
## Value is a positive number or 0.
## Setting it to 0 will allow unlimited header field sizes.
limit_request_field_size = 0
## Timeout for graceful workers restart.
## After receiving a restart signal, workers have this much time to finish
## serving requests. Workers still alive after the timeout (starting from the
## receipt of the restart signal) are force killed.
graceful_timeout = 3600
# The number of seconds to wait for requests on a Keep-Alive connection.
# Generally set in the 1-5 seconds range.
keepalive = 2
## Maximum memory usage that each worker can use before it will receive a
## graceful restart signal, e.g 10MB = 10485760 (10 * 1024 * 1024)
# 0 = memory monitoring is disabled
memory_max_usage = 0
## How often in seconds to check for memory usage for each gunicorn worker
memory_usage_check_interval = 60
## Threshold value for which we don't recycle worker if GarbageCollection
## frees up enough resources. Before each restart we try to run GC on worker
## in case we get enough free memory after that, restart will not happen.
memory_usage_recovery_threshold = 0.8
[app:main]
use = egg:rhodecode-vcsserver
pyramid.default_locale_name = en
pyramid.includes =
## default locale used by VCS systems
locale = en_US.UTF-8
## path to binaries for vcsserver, it should be set by the installer
## at installation time, e.g /home/user/vcsserver-1/profile/bin
core.binary_dir = ""
## Custom exception store path, defaults to TMPDIR
## This is used to store exception from RhodeCode in shared directory
#exception_tracker.store_path =
## Default cache dir for caches. Putting this into a ramdisk
## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
## large amount of space
cache_dir = %(here)s/rcdev/data
## cache region for storing repo_objects cache
rc_cache.repo_object.backend = dogpile.cache.rc.file_namespace
## cache auto-expires after N seconds (2592000 == 30 days)
rc_cache.repo_object.expiration_time = 2592000
## cache file store path, if empty set automatically to tmp dir location
#rc_cache.repo_object.arguments.filename = /tmp/vcsserver_cache.db
## max size of LRU, old values will be discarded if the size of cache reaches max_size
rc_cache.repo_object.max_size = 100
################################
### LOGGING CONFIGURATION ####
################################
[loggers]
keys = root, vcsserver
[handlers]
keys = console
[formatters]
keys = generic
#############
## LOGGERS ##
#############
[logger_root]
level = NOTSET
handlers = console
[logger_vcsserver]
level = DEBUG
handlers =
qualname = vcsserver
propagate = 1
##############
## HANDLERS ##
##############
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = DEBUG
formatter = generic
################
## FORMATTERS ##
################
[formatter_generic]
format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S