Setup

CouchDB 2.x can be deployed in either a single-node or a clustered setup. This section covers the first-time setup steps required for each of these configuration.

Warning

Before configuring one of the two modes, it is advisable to create an administrative user. Without it, the two cluster modes will not be complete. For more details, see Permission section.

Single Node

A single node cluster is nothing more than a cluster extended to a single node, ie the local one. To configure it, run:

Enable-CouchDBCluster -SingleNode -Authorization "admin:password"

Cluster

Same thing of the single node, but with two or more nodes. By default the nodes are 3.

Enable-CouchDBCluster -Authorization "admin:password"

Nodes

Nodes are the single elements of a cluster. by element we mean a server, local or remote. To verify the active cluster nodes, run:

Get-CouchDBNode -Authorization "admin:password"

Add a node

To manually add a node to the cluster, simply run:

Add-CouchDBNode -BindAddress 127.0.1.1 -Authorization "admin:password"

Remove a node

To manually add a node to the cluster, simply run:

Get-CouchDBNode -Authorization "admin:password"

Remove-CouchDBNode -BindAddress couchdb@127.0.1.1 -Authorization "admin:password"

Configuration

The CouchDB Server Configuration API provide an interface to query and update the various configuration values within a running CouchDB instance.

Get configuration

To get the entire CouchDB server configuration. The structure is organized by different configuration sections, with individual values.

Get-CouchDBConfiguration -Authorization "admin:password"

Modify configuration

To modify configuration, see help of this cmdlet:

Set-CouchDBConfiguration -?
help Set-CouchDBConfiguration
Get-Help Set-CouchDBConfiguration

Modify an element

For example, to change SSL port 6984 with 443:

Set-CouchDBConfiguration -Element ssl -Key port -Value 443 -Authorization "admin:password"

Note

This cmdlet return the old value. To verify the changed value, run: Get-CouchDBConfiguration -Authorization "admin:password" | Select-Object ssl | Format-List