The Membase Server Superdupervisor.
Erlang JavaScript HTML CSS Python Ruby Other
Latest commit c811d92 Oct 20, 2016 @aartamonau aartamonau committed with vzasade MB-9603 Remove 1 second sleep at the end of cluster leave.
It doesn't seem to be needed.

Change-Id: If6a03c9f4d9adb482e9dc5daff22e8649fc2d53c
Tested-by: Aliaksey Artamonau <>
Reviewed-by: Artem Stemkovski <>
Failed to load latest commit information.
cmake_modules [dialyzer] Remove commented out path to ibrowse. Apr 20, 2016
deps Merge remote-tracking branch 'couchbase/watson' into master Oct 20, 2016
doc Allow modifications to connection_idle_time in memcached Mar 4, 2016
etc MB-17811 audit add/update/delete of external users Mar 22, 2016
include MB-21281: Add notion of "UI compat version" Oct 18, 2016
priv Merge remote-tracking branch 'couchbase/watson' into master Oct 20, 2016
scripts Merge remote-tracking branch 'gerrit/watson' into secrets1 Oct 12, 2016
src MB-9603 Remove 1 second sleep at the end of cluster leave. Oct 21, 2016
test MB-4114 encrypt and decrypt secrets in config.dat Oct 12, 2016
.gitignore Add app.min.js to gitignore. Oct 18, 2016
CHANGES MB-8663 Mention where to find replication id. Aug 26, 2013
CMakeLists.txt MB-4114 Entering master password from the prompt Oct 12, 2016
GNUmakefile MB-18289: concatenate UI app javascripts Mar 21, 2016
LICENSE bug 1626 - apache license headers on files Jun 29, 2010
README.markdown MB-14932: update README.txt Apr 13, 2016
cbbrowse_logs MB-8101: allow overriding of logs reports dir Apr 16, 2013
cbcollect_info [cbcollect_info] Spawn processes in new sessions on Unix systems. Oct 20, 2016
cbmaster_password MB-4114 retry 2 more times if the password is not accepted Oct 12, 2016
cbreset_password MB-18982: cbreset_password to accept "y" as valid response May 20, 2016
cluster_connect [cluster_connect] Allow skipping rebalance. Mar 30, 2016
cluster_run MB-18285: HTTPS/SSL configuration for FTS Oct 13, 2016
configure MB-10807 Fix make test and make dialyzer. Apr 9, 2014 Don't hardcode babysitter node name in Oct 21, 2016 Compile supervisor2 before everything else. Jun 25, 2015


The Couchbase Server

This application represents the top of the hierarchy of all memcached smart services. It is an application in the Erlang OTP sense.


Build dependencies include:

  • erlang R16B03


You should use top level make file and repo manifest as explained here:

Runtime dependencies

Before you start the server, you may need to do the following

  • Make sure the needed ports are not being used (these include 8091, 11211, 11212, etc).


After building everything via top level makefile you'll have couchbase-server script in your $REPO/install/bin (or other prefix if you specified so). You can run this script for normal single node startup.

During development it's convenient to have several 'nodes' on your machine. There's ./cluster_run script in root directory for achieving that. Feel free to ask --help. You normally need something like -n2 where 2 is number of nodes you want.

It'll start REST API on ports 9000...9000+n. memcached on ports 12000+2i and 11999-i and moxi ports on 12001+2i ports. CAPI (which was originally expected to be couch-compatible http API implementation) is 9500...9500+n

Note that blank nodes are not configured and need to be setup. I suggest trying web UI first to get the feeling of what's possible. Just visit REST API port(s) via browser. For development mode clusters it's port 9000 and higher. For production mode it's port 8091.

Other alternative is setting up and clustering nodes via REST API. couchbase-cli allows that. And you can easily write your own script(s).

There's ./cluster_connect script that eases cluster configuration for development clusters. Again, ask --help.

Sometimes during debugging/development you want smaller number of vbuckets. You can change vbuckets number by setting COUCHBASE_NUM_VBUCKETS environment variable to desired number of vbuckets before creating new couchbase bucket.

Other tools

Couchbase ships with a bunch of nice tools. Feel free to check $REPO/install/bin (or $PREFIX/bin). One of notable tools is mbstats. It allows you to query buckets for all kinds of internal stats.

Another notable tool is couchbase-cli.

Copyright (c) 2016, Couchbase, Inc.