LinuxCommandLibrary

couchdb

Start the CouchDB NoSQL database server

TLDR

Start CouchDB

$ couchdb
copy

Start CouchDB interactive shell
$ couchdb -i
copy

Start CouchDB as a background process
$ couchdb -b
copy

Kill the background process (Note: It will respawn if needed)
$ couchdb -k
copy

Shutdown the background process
$ couchdb -d
copy

SYNOPSIS

couchdb [options]

PARAMETERS

-h, --help
    Show help message and exit.


-d, --daemon
    Run as background daemon process.


-i INI, --ini INI
    Load configuration from specified INI file (default: /opt/couchdb/etc/local.ini).


-n, --noinit
    Skip multi-node cluster initialization.


-p PIDFILE, --pid PIDFILE
    PID file path (default: /opt/couchdb/var/run/couchdb.pid).


-o LOGFILE, --logfile LOGFILE
    Log file path (default: /opt/couchdb/var/log/couchdb.log).


-s, --stdout
    Output logs to stdout instead of file.


-H HOST, --host HOST
    Bind to specific host address (default: ::).


-P PORT, --port PORT
    Bind to specific TCP port (default: 5984).


-V, --version
    Display CouchDB version and exit.


-v, --verbose
    Increase logging verbosity (repeatable).


DESCRIPTION

The couchdb command launches the Apache CouchDB server, an open-source document-oriented NoSQL database designed for reliability and simplicity. CouchDB stores data as JSON documents with schema-free design, supports HTTP/JSON API for seamless web integration, and offers incremental MapReduce indexing and replication.

Use couchdb to start the server in foreground (default) or daemon mode. It binds to a TCP port (default 5984) and host (default :: for IPv6), serving the Fauxton admin interface at http://127.0.0.1:5984/_utils/. Ideal for single-node setups or clusters via replication. Configuration loads from INI files like local.ini. Logs and PID files default to standard locations like /opt/couchdb/var. Supports verbose output and custom binds for production. Essential for developers building distributed, fault-tolerant apps with eventual consistency.

CAVEATS

Paths vary by installation (e.g., /opt/couchdb on source builds, /usr/lib on distros). Requires Erlang/OTP runtime. Default daemon user may need sudo. IPv6 binding (::) falls back to IPv4. Not for Windows.

DEFAULT ACCESS

Admin UI at http://localhost:5984/_utils/. Create admin via config or Futon.

SERVICE MANAGEMENT

On systemd: use systemctl start couchdb. Paths configurable in local.ini.

SECURITY NOTE

Bind to localhost for security; enable HTTPS via config. Setup admin user post-start.

HISTORY

Originated 2005 by Damien Katz as CouchDB; donated to Apache 2008 (incubating 2008-2010). Major versions: 1.0 (2010), 2.0 (2017) with clustering, 3.0+ (2020) with Mango queries. Evolved for scalability in BigCouch fork influences.

SEE ALSO

couchdb-dump(1), couchjs(1), erl(1)

Copied to clipboard