Public | Automated Build

Last pushed: 3 years ago
Short Description
Short description is empty for this repo.
Full Description


Docker for CouchDB servers in the nEDM experiment.


This docker is based off of klaemo/couchdb:1.6.1 and includes a number of
scripts (os daemons and update notifiers) that need to be run in parallel.

The couchdb server which is run allows proxy authentication though with a
randomly defined private key (automatically generated for each container),
which means this is only used for the local scripts (os daemons/update
notifiers) that run in the container.

Setup options

  1. Mount lib directory (R/W) to /usr/local/var/lib/couchdb
  2. Mount log directory (R/W) to /usr/local/var/log/couchdb
  3. To define an admin user, export the environment variable for the hash
    generated by CouchDB, i.e.: -e "ADMINHASH=admin = -pbkdf2-0hashfollowshere"
  4. To define a private key that is always used by this server, export the environment variable PRIVATE_KEY, i.e.:
    -e "PRIVATE_KEY=private_key_to_use"

Example command

docker run -d \
  -v /local_path_to_lib/couchdb:/usr/local/var/lib/couchdb \
  -v /local_path_t_log/couchdb_log:/usr/local/var/log/couchdb \
  -e "ADMINHASH=admin = -pbkdf2-HASH_OF_ADMIN_LOGIN" \
  -e "PRIVATE_KEY=private_key_to_use" \
  --name nEDM-CouchDB \

-e parts of the command are optional. Note, if you want to test to see if the couchdb instance is running, you can export port 5984: -p 15984:5984 where the local port 15984 is used.

Once running

There are a few options that have to be taken care of to setup for an nEDM

Alarm Daemon

If you wish to run the alarm daemon, change alarm_daemon:disabled to be
false in the configuration. Other configuration options:

  email_agent : 'name.of.smtp.server', // name of SMTP server to send
                                       // notification emails
  emails : ['', ''], // list of email addresses
                                                    // that receive
                                                    // notification
  disabled : true // don't run on this server

View Updater/Aggregator

This runs to update views as well as aggregates changes from nedm/ databases

Options include:

  write_aggregate : false, // Run aggregation (set to true to do this)
  checked_types   : ['data', 'heartbeat'], // Types of documents that are
                                           // aggregated into the aggregate db
Docker Pull Command
Source Repository