.. _broker-couchdb:

===============
 Using CouchDB
===============

.. _broker-couchdb-installation:

Installation
============

For the CouchDB support you have to install additional dependencies.
You can install both Celery and these dependencies in one go using
the ``celery[couchdb]`` :ref:`bundle <bundles>`:

.. code-block:: bash

    $ pip install -U celery[couchdb]

.. _broker-couchdb-configuration:

Configuration
=============

Configuration is easy, set the transport, and configure the location of
your CouchDB database::

    BROKER_URL = 'couchdb://localhost:5984/database_name'

Where the URL is in the format of::

    couchdb://userid:password@hostname:port/database_name

The host name will default to ``localhost`` and the port to 5984,
and so they are optional.  userid and password are also optional,
but needed if your CouchDB server requires authentication.

.. _couchdb-results-configuration:

Results
-------

Storing task state and results in CouchDB is currently **not supported**.

.. _broker-couchdb-limitations:

Limitations
===========

The CouchDB message transport does not currently support:

    * Remote control commands (:program:`celery inspect`,
      :program:`celery control`, broadcast)
