
Security News
OWASP 2025 Top 10 Adds Software Supply Chain Failures, Ranked Top Community Concern
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.
couchdb-bootstrap
Advanced tools
Bootstrap projects: configure CouchDB, setup security, deploy ddocs and create users.
Bootstrap CouchDB server from CLI or API.
/_configCouchDB Bootstrap combines different small tools, which can also be used independently. Each of those tools come has a similar API and is shipped with a CLI:
Think about CouchDB Bootstrap as a toplevel manager, which reads a directory of
databases and optional _config and hands each file over to the appropriate tool:
project/couchdb
├── _config.json
├── _replicator
│ ├── setup-alice.json
│ └── setup-bob.json
├── _users
│ ├── alice.json
│ └── bob.json
├── myapp
│ ├── _design
│ │ └── myapp.js
│ ├── _security.json
│ └── adoc.json
├── myapp-alice
│ ├── doc1.json
│ ├── doc2-commonjs.js
│ └── _security.json
└── myapp-bob
└── _security.json
In the directory tree above project/couchdb/_config.json is handed to
couchdb-configure,
project/couchdb/_replicator/setup-alice.json,
project/couchdb/myapp/_design/myapp.js
project/couchdb/myapp/adoc.json are handed (beside others) to
couchdb-push
and project/couchdb/myapp-alice/_security.json to
couchdb-secure.
Since couchdb-bootstrap@14.2 it is possible to provide a configuration object:
{
'my-db': {
_security: {
members: {
roles: [],
names: [
'alice@example.com'
]
},
admins: {
roles: [],
names: [
'alice@example.com'
]
}
},
mydoc: {
date: '2018-03-16T19:27:52.361Z',
title: 'Welcome'
},
_design: {
myapp: {
views: {
'by-date': {
map: function (doc) {
if ('date' in doc) {
emit(doc.date, null)
}
},
reduce: '_count'
}
}
}
}
},
_users: {
alice: {
_id: 'org.couchdb.user:alice@example.com',
type: 'user',
roles: [],
name: 'alice@example.com',
password: 'secure'
}
}
}
See couchdb-compile for more details about the CouchDB Filesystem Mapping on a document / security object / config level.
bootstrap(url, source[, options], callback)
url - CouchDB server URLsource - bootstrap object or directory holding the bootstrap treeoptions.index - When set to true, folders are searched for index.js, which, if present, is treated as CommonJS module. Default is false.options.concurrency - Limit number of concurrent requests. Defaults to 100.options.multipart - When set to true, attachments are saved via multipart api. Default is false.options.watch - When set to true, documents are pushed (not _config!) on filesystem change. Default is false.options.mapDbName - Set to object or function to map directories to custom database namescallback - called when done with a response object describing the status of all operations.var bootstrap = require('couchdb-bootstrap')
bootstrap('http://localhost:5984', 'project/couchdb', function(error, response) {
// here we go
})
Since 14.2.0 it is possible to provide a configuration object:
var bootstrap = require('couchdb-bootstrap')
var config = {
'my-db': {
_design: {
myapp: {
views: {
'by-date': {
map: function (doc) {
if ('date' in doc) {
emit(doc.date, null)
}
},
reduce: '_count'
}
}
}
}
}
}
bootstrap('http://localhost:5984', config, function(error, response) {
//
})
couchdb-bootstrap URL [SOURCE] [OPTIONS]
Or use the shortcurt cdbb.
When SOURCE is omitted, the current directory will be used.
options.index is always true.
OPTIONS can be --concurrency, --multipart, --watch or --mapDbName='{"old-name": "new-name"}', see above.
couchdb-bootstrap http://localhost:5984 project/couchdb
Source as CommonJS file:
couchdb-bootstrap http://localhost:5984 bootstrap.js
See test/fixtures/bootstrap.js for an example.
npm test
FAQs
Bootstrap projects: configure CouchDB, setup security, deploy ddocs and create users.
The npm package couchdb-bootstrap receives a total of 612 weekly downloads. As such, couchdb-bootstrap popularity was classified as not popular.
We found that couchdb-bootstrap demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.