; @configure_input@ ; Upgrading CouchDB will overwrite this file. [couchdb] database_dir = %localstatelibdir% view_index_dir = %localstatelibdir% util_driver_dir = %couchprivlibdir% max_document_size = 4294967296 ; 4 GB max_attachment_chunk_size = 4294967296 ; 4GB os_process_timeout = 5000 ; 5 seconds. for view and external servers. max_dbs_open = 100 delayed_commits = true ; set this to false to ensure an fsync before 201 Created is returned batch_save_size = 1000 ; number of docs at which to save a batch batch_save_interval = 1000 ; milliseconds after which to save batches [httpd] port = 5984 bind_address = 127.0.0.1 authentication_handlers = {couch_httpd_oauth, oauth_authentication_handler}, {couch_httpd_auth, default_authentication_handler} default_handler = {couch_httpd_db, handle_request} WWW-Authenticate = Basic realm="administrator" [log] file = %localstatelogdir%/couch.log level = info [couch_httpd_auth] authentication_db = users secret = replace this with a real secret in your local.ini file require_valid_user = false [query_servers] javascript = %bindir%/%couchjs_command_name% %localdatadir%/server/main.js ; Changing reduce_limit to false will disable reduce_limit. ; If you think you're hitting reduce_limit with a "good" reduce function, ; please let us know on the mailing list so we can fine tune the heuristic. [query_server_config] reduce_limit = true ; enable external as an httpd handler, then link it with commands here. ; note, this api is still under consideration. ; [external] ; mykey = /path/to/mycommand [daemons] view_manager={couch_view, start_link, []} external_manager={couch_external_manager, start_link, []} db_update_notifier={couch_db_update_notifier_sup, start_link, []} batch_save={couch_batch_save_sup, start_link, []} query_servers={couch_query_servers, start_link, []} httpd={couch_httpd, start_link, []} stats_aggregator={couch_stats_aggregator, start, []} stats_collector={couch_stats_collector, start, []} uuids={couch_uuids, start, []} [httpd_global_handlers] / = {couch_httpd_misc_handlers, handle_welcome_req, <<"Welcome">>} favicon.ico = {couch_httpd_misc_handlers, handle_favicon_req, "%localdatadir%/www"} _utils = {couch_httpd_misc_handlers, handle_utils_dir_req, "%localdatadir%/www"} _all_dbs = {couch_httpd_misc_handlers, handle_all_dbs_req} _active_tasks = {couch_httpd_misc_handlers, handle_task_status_req} _config = {couch_httpd_misc_handlers, handle_config_req} _replicate = {couch_httpd_misc_handlers, handle_replicate_req} _uuids = {couch_httpd_misc_handlers, handle_uuids_req} _restart = {couch_httpd_misc_handlers, handle_restart_req} _stats = {couch_httpd_stats_handlers, handle_stats_req} _log = {couch_httpd_misc_handlers, handle_log_req} _sleep = {couch_httpd_misc_handlers, handle_sleep_req} _session = {couch_httpd_auth, handle_session_req} _oauth = {couch_httpd_oauth, handle_oauth_req} _user = {couch_httpd_auth, handle_user_req} [httpd_db_handlers] _view_cleanup = {couch_httpd_db, handle_view_cleanup_req} _compact = {couch_httpd_db, handle_compact_req} _design = {couch_httpd_db, handle_design_req} _view = {couch_httpd_view, handle_db_view_req} _temp_view = {couch_httpd_view, handle_temp_view_req} _changes = {couch_httpd_db, handle_changes_req} ; The external module takes an optional argument allowing you to narrow it to a ; single script. Otherwise the script name is inferred from the first path section ; after _external's own path. ; _mypath = {couch_httpd_external, handle_external_req, <<"mykey">>} ; _external = {couch_httpd_external, handle_external_req} [httpd_design_handlers] _view = {couch_httpd_view, handle_view_req} _show = {couch_httpd_show, handle_doc_show_req} _list = {couch_httpd_show, handle_view_list_req} _info = {couch_httpd_db, handle_design_info_req} _update = {couch_httpd_show, handle_doc_update_req} [uuids] ; Known algorithms: ; random - 128 bits of random awesome ; All awesome, all the time. ; sequential - monotonically increasing ids with random increments ; First 26 hex characters are random. Last 6 increment in ; random amounts until an overflow occurs. On overflow, the ; random prefix is regenerated and the process starts over. ; utc_random - Time since Jan 1, 1970 UTC with microseconds ; First 14 characters are the time in hex. Last 18 are random. algorithm = random [stats] ; rate is in milliseconds rate = 1000 ; sample intervals are in seconds samples = [0, 60, 300, 900] ; Style guide for descriptions: Start with a lowercase letter & do not add ; a trailing full-stop / period. ; Please keep this in alphabetical order. [stats_descriptions] {couchdb, database_writes} = number of times a database was changed {couchdb, database_reads} = number of times a document was read from a database {couchdb, open_databases} = number of open databases {couchdb, open_os_files} = number of file descriptors CouchDB has open {couchdb, request_time} = length of a request inside CouchDB without MochiWeb {httpd, bulk_requests} = number of bulk requests {httpd, requests} = number of HTTP requests {httpd, temporary_view_reads} = number of temporary view reads {httpd, view_reads} = number of view reads {httpd, clients_requesting_changes} = number of clients for continuous _changes {httpd_request_methods, 'COPY'} = number of HTTP COPY requests {httpd_request_methods, 'DELETE'} = number of HTTP DELETE requests {httpd_request_methods, 'GET'} = number of HTTP GET requests {httpd_request_methods, 'HEAD'} = number of HTTP HEAD requests {httpd_request_methods, 'MOVE'} = number of HTTP MOVE requests {httpd_request_methods, 'POST'} = number of HTTP POST requests {httpd_request_methods, 'PUT'} = number of HTTP PUT requests {httpd_status_codes, '200'} = number of HTTP 200 OK responses {httpd_status_codes, '201'} = number of HTTP 201 Created responses {httpd_status_codes, '202'} = number of HTTP 202 Accepted responses {httpd_status_codes, '301'} = number of HTTP 301 Moved Permanently responses {httpd_status_codes, '304'} = number of HTTP 304 Not Modified responses {httpd_status_codes, '400'} = number of HTTP 400 Bad Request responses {httpd_status_codes, '401'} = number of HTTP 401 Unauthorized responses {httpd_status_codes, '403'} = number of HTTP 403 Forbidden responses {httpd_status_codes, '404'} = number of HTTP 404 Not Found responses {httpd_status_codes, '405'} = number of HTTP 405 Method Not Allowed responses {httpd_status_codes, '409'} = number of HTTP 409 Conflict responses {httpd_status_codes, '412'} = number of HTTP 412 Precondition Failed responses {httpd_status_codes, '500'} = number of HTTP 500 Internal Server Error responses