diff options
author | melt <melt@lich.(none)> | 2013-01-18 10:29:35 +0100 |
---|---|---|
committer | melt <melt@lich.(none)> | 2013-01-18 10:29:35 +0100 |
commit | 3045e4520e71fc43248e6801b7177c22ae17c770 (patch) | |
tree | d3d157250c8f5d901e3763b2d2c282977fbfc846 /config | |
parent | 9f0b55ef121fe85848859ac35fb63ceb629b8d5b (diff) |
Add production.ini file.
Diffstat (limited to 'config')
-rw-r--r-- | config/production.ini | 449 |
1 files changed, 449 insertions, 0 deletions
diff --git a/config/production.ini b/config/production.ini new file mode 100644 index 0000000..14f7301 --- /dev/null +++ b/config/production.ini @@ -0,0 +1,449 @@ +################################################################################ +################################################################################ +# RhodeCode - Pylons environment configuration # +# # +# The %(here)s variable will be replaced with the parent directory of this file# +################################################################################ + +[DEFAULT] +debug = true +pdebug = false +################################################################################ +## Uncomment and replace with the address which should receive ## +## any error reports after application crash ## +## Additionally those settings will be used by RhodeCode mailing system ## +################################################################################ +#email_to = admin@localhost +#error_email_from = paste_error@localhost +#app_email_from = rhodecode-noreply@localhost +#error_message = +#email_prefix = [RhodeCode] + +#smtp_server = mail.server.com +#smtp_username = +#smtp_password = +#smtp_port = +#smtp_use_tls = false +#smtp_use_ssl = true +# Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.) +#smtp_auth = + +[server:main] +## PASTE +##nr of threads to spawn +#threadpool_workers = 5 + +##max request before thread respawn +#threadpool_max_requests = 10 + +##option to use threads of process +#use_threadpool = true + +#use = egg:Paste#http + +#WAITRESS +threads = 5 +use = egg:waitress#main + +host = 0.0.0.0 +port = 5000 + +[filter:proxy-prefix] +# prefix middleware for rc +use = egg:PasteDeploy#prefix +prefix = /<your-prefix> + +[app:main] +use = egg:rhodecode +#filter-with = proxy-prefix +full_stack = true +static_files = true +# Optional Languages +# en, fr, ja, pt_BR, zh_CN, zh_TW, pl +lang = en +cache_dir = %(here)s/data +index_dir = %(here)s/data/index +app_instance_uuid = {5c68b87a-a1a2-4987-8793-c0a1de0eeb4f} +cut_off_limit = 256000 +vcs_full_cache = True +force_https = false +commit_parse_limit = 50 +# number of items displayed in lightweight dashboard before paginating +dashboard_items = 100 +use_gravatar = true + +## RSS feed options + +rss_cut_off_limit = 256000 +rss_items_per_page = 10 +rss_include_diff = false + + +## alternative_gravatar_url allows you to use your own avatar server application +## the following parts of the URL will be replaced +## {email} user email +## {md5email} md5 hash of the user email (like at gravatar.com) +## {size} size of the image that is expected from the server application +## {scheme} http/https from RhodeCode server +## {netloc} network location from RhodeCode server +#alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size} +#alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size} + +container_auth_enabled = false +proxypass_auth_enabled = false +## default encoding used to convert from and to unicode +## can be also a comma seperated list of encoding in case of mixed encodings +default_encoding = utf8 + +## overwrite schema of clone url +## available vars: +## scheme - http/https +## user - current user +## pass - password +## netloc - network location +## path - usually repo_name + +#clone_uri = {scheme}://{user}{pass}{netloc}{path} + +## issue tracking mapping for commits messages +## comment out issue_pat, issue_server, issue_prefix to enable + +## pattern to get the issues from commit messages +## default one used here is #<numbers> with a regex passive group for `#` +## {id} will be all groups matched from this pattern + +issue_pat = (?:\s*#)(\d+) + +## server url to the issue, each {id} will be replaced with match +## fetched from the regex and {repo} is replaced with full repository name +## including groups {repo_name} is replaced with just name of repo + +issue_server_link = https://myissueserver.com/{repo}/issue/{id} + +## prefix to add to link to indicate it's an url +## #314 will be replaced by <issue_prefix><id> + +issue_prefix = # + +## issue_pat, issue_server_link, issue_prefix can have suffixes to specify +## multiple patterns, to other issues server, wiki or others +## below an example how to create a wiki pattern +# #wiki-some-id -> https://mywiki.com/some-id + +#issue_pat_wiki = (?:wiki-)(.+) +#issue_server_link_wiki = https://mywiki.com/{id} +#issue_prefix_wiki = WIKI- + + +## instance-id prefix +## a prefix key for this instance used for cache invalidation when running +## multiple instances of rhodecode, make sure it's globally unique for +## all running rhodecode instances. Leave empty if you don't use it +instance_id = + +## alternative return HTTP header for failed authentication. Default HTTP +## response is 401 HTTPUnauthorized. Currently HG clients have troubles with +## handling that. Set this variable to 403 to return HTTPForbidden +auth_ret_code = + +#################################### +### CELERY CONFIG #### +#################################### +use_celery = false +broker.host = localhost +broker.vhost = rabbitmqhost +broker.port = 5672 +broker.user = rabbitmq +broker.password = qweqwe + +celery.imports = rhodecode.lib.celerylib.tasks + +celery.result.backend = amqp +celery.result.dburi = amqp:// +celery.result.serialier = json + +#celery.send.task.error.emails = true +#celery.amqp.task.result.expires = 18000 + +celeryd.concurrency = 2 +#celeryd.log.file = celeryd.log +celeryd.log.level = debug +celeryd.max.tasks.per.child = 1 + +#tasks will never be sent to the queue, but executed locally instead. +celery.always.eager = false + +#################################### +### BEAKER CACHE #### +#################################### +beaker.cache.data_dir=%(here)s/data/cache/data +beaker.cache.lock_dir=%(here)s/data/cache/lock + +beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long + +beaker.cache.super_short_term.type=memory +beaker.cache.super_short_term.expire=10 +beaker.cache.super_short_term.key_length = 256 + +beaker.cache.short_term.type=memory +beaker.cache.short_term.expire=60 +beaker.cache.short_term.key_length = 256 + +beaker.cache.long_term.type=memory +beaker.cache.long_term.expire=36000 +beaker.cache.long_term.key_length = 256 + +beaker.cache.sql_cache_short.type=memory +beaker.cache.sql_cache_short.expire=10 +beaker.cache.sql_cache_short.key_length = 256 + +beaker.cache.sql_cache_med.type=memory +beaker.cache.sql_cache_med.expire=360 +beaker.cache.sql_cache_med.key_length = 256 + +beaker.cache.sql_cache_long.type=file +beaker.cache.sql_cache_long.expire=3600 +beaker.cache.sql_cache_long.key_length = 256 + +#################################### +### BEAKER SESSION #### +#################################### +## Type of storage used for the session, current types are +## dbm, file, memcached, database, and memory. +## The storage uses the Container API +## that is also used by the cache system. + +## db session ## +#beaker.session.type = ext:database +#beaker.session.sa.url = postgresql://postgres:qwe@localhost/rhodecode +#beaker.session.table_name = db_session + +## encrypted cookie client side session, good for many instances ## +#beaker.session.type = cookie + +## file based cookies (default) ## +#beaker.session.type = file + + +beaker.session.key = rhodecode +## secure cookie requires AES python libraries ## +#beaker.session.encrypt_key = g654dcno0-9873jhgfreyu +#beaker.session.validate_key = 9712sds2212c--zxc123 +## sets session as invalid if it haven't been accessed for given amount of time +beaker.session.timeout = 2592000 +beaker.session.httponly = true +#beaker.session.cookie_path = /<your-prefix> + +## uncomment for https secure cookie ## +beaker.session.secure = false + +## auto save the session to not to use .save() ## +beaker.session.auto = False + +## default cookie expiration time in seconds `true` expire at browser close ## +#beaker.session.cookie_expires = 3600 + + +############################ +## ERROR HANDLING SYSTEMS ## +############################ + +#################### +### [errormator] ### +#################### + +# Errormator is tailored to work with RhodeCode, see +# http://errormator.com for details how to obtain an account +# you must install python package `errormator_client` to make it work + +# errormator enabled +errormator = true + +errormator.server_url = https://api.errormator.com +errormator.api_key = YOUR_API_KEY + +# TWEAK AMOUNT OF INFO SENT HERE + +# enables 404 error logging (default False) +errormator.report_404 = false + +# time in seconds after request is considered being slow (default 1) +errormator.slow_request_time = 1 + +# record slow requests in application +# (needs to be enabled for slow datastore recording and time tracking) +errormator.slow_requests = true + +# enable hooking to application loggers +# errormator.logging = true + +# minimum log level for log capture +# errormator.logging.level = WARNING + +# send logs only from erroneous/slow requests +# (saves API quota for intensive logging) +errormator.logging_on_error = false + +# list of additonal keywords that should be grabbed from environ object +# can be string with comma separated list of words in lowercase +# (by default client will always send following info: +# 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that +# start with HTTP* this list be extended with additional keywords here +errormator.environ_keys_whitelist = + + +# list of keywords that should be blanked from request object +# can be string with comma separated list of words in lowercase +# (by default client will always blank keys that contain following words +# 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf' +# this list be extended with additional keywords set here +errormator.request_keys_blacklist = + + +# list of namespaces that should be ignores when gathering log entries +# can be string with comma separated list of namespaces +# (by default the client ignores own entries: errormator_client.client) +errormator.log_namespace_blacklist = + + +################ +### [sentry] ### +################ + +# sentry is a alternative open source error aggregator +# you must install python packages `sentry` and `raven` to enable + +sentry.dsn = YOUR_DNS +sentry.servers = +sentry.name = +sentry.key = +sentry.public_key = +sentry.secret_key = +sentry.project = +sentry.site = +sentry.include_paths = +sentry.exclude_paths = + + +################################################################################ +## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ## +## Debug mode will enable the interactive debugging tool, allowing ANYONE to ## +## execute malicious code after an exception is raised. ## +################################################################################ +set debug = false + +################################## +### LOGVIEW CONFIG ### +################################## +logview.sqlalchemy = #faa +logview.pylons.templating = #bfb +logview.pylons.util = #eee + +######################################################### +### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ### +######################################################### + +# SQLITE [default] +#sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db + +# POSTGRESQL +sqlalchemy.db1.url = postgresql://postgres:postgres@localhost/rhodecode + +# MySQL +# sqlalchemy.db1.url = mysql://user:pass@localhost/rhodecode + +# see sqlalchemy docs for others + +sqlalchemy.db1.echo = false +sqlalchemy.db1.pool_recycle = 3600 +sqlalchemy.db1.convert_unicode = true + +################################ +### LOGGING CONFIGURATION #### +################################ +[loggers] +keys = root, routes, rhodecode, sqlalchemy, beaker, templates, whoosh_indexer + +[handlers] +keys = console, console_sql + +[formatters] +keys = generic, color_formatter, color_formatter_sql + +############# +## LOGGERS ## +############# +[logger_root] +level = NOTSET +handlers = console + +[logger_routes] +level = DEBUG +handlers = +qualname = routes.middleware +# "level = DEBUG" logs the route matched and routing variables. +propagate = 1 + +[logger_beaker] +level = DEBUG +handlers = +qualname = beaker.container +propagate = 1 + +[logger_templates] +level = INFO +handlers = +qualname = pylons.templating +propagate = 1 + +[logger_rhodecode] +level = DEBUG +handlers = +qualname = rhodecode +propagate = 1 + +[logger_sqlalchemy] +level = INFO +handlers = console_sql +qualname = sqlalchemy.engine +propagate = 0 + +[logger_whoosh_indexer] +level = DEBUG +handlers = +qualname = whoosh_indexer +propagate = 1 + +############## +## HANDLERS ## +############## + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = INFO +formatter = generic + +[handler_console_sql] +class = StreamHandler +args = (sys.stderr,) +level = WARN +formatter = generic + +################ +## FORMATTERS ## +################ + +[formatter_generic] +format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %Y-%m-%d %H:%M:%S + +[formatter_color_formatter] +class=rhodecode.lib.colored_formatter.ColorFormatter +format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %Y-%m-%d %H:%M:%S + +[formatter_color_formatter_sql] +class=rhodecode.lib.colored_formatter.ColorFormatterSql +format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %Y-%m-%d %H:%M:%S |