aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authormelt <melt@lich.(none)>2013-01-18 10:29:35 +0100
committermelt <melt@lich.(none)>2013-01-18 10:29:35 +0100
commit3045e4520e71fc43248e6801b7177c22ae17c770 (patch)
treed3d157250c8f5d901e3763b2d2c282977fbfc846 /config
parent9f0b55ef121fe85848859ac35fb63ceb629b8d5b (diff)
Add production.ini file.
Diffstat (limited to 'config')
-rw-r--r--config/production.ini449
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