> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/open-source/use-harness-open-source/pipelines-1/samples/couchdb.md).

# Couchdb

## CouchDB <a href="#couchdb" id="couchdb"></a>

This guide covers configuring continuous integration pipelines for projects that have a CouchDB dependency.

### Basic Example <a href="#basic-example" id="basic-example"></a>

In the below example we demonstrate a pipeline that launches CouchDB as a background step. The database server will be available at `database:5984`, where the hostname matches the background step name.

```yaml
kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      steps:
      - name: database
        type: background
        spec:
          container: couchdb:3.3.2
          envs:
            COUCHDB_USER: admin
            COUCHDB_PASSWORD: password

      - name: test
        type: run
        spec:
          container: couchdb:3.3.2
          script: |-
            sleep 15
            curl http://database:5984
```

## Common Problems <a href="#common-problems" id="common-problems"></a>

### Initialization <a href="#initialization" id="initialization"></a>

If you are unable to connect to the CouchDB container please make sure you are giving the instance adequate time to initialize and begin accepting connections.

```yaml
      - name: test
        type: script
        spec:
          image: couchdb:3.3.2
          run: |-
            sleep 15
            curl http://database:5984
```

### Incorrect Hostname <a href="#incorrect-hostname" id="incorrect-hostname"></a>

You cannot use `127.0.0.1` or `localhost` to connect with the database. If you are unable to connect to the database please verify you are using the correct hostname, corresponding with the name of the container.

Bad:

```yaml
      - name: test
        type: script
        spec:
          image: couchdb:3.3.2
          run: |-
            sleep 15
            curl http://localhost:5984
```

Good:

```yaml
      - name: test
        type: script
        spec:
          image: couchdb:3.3.2
          run: |-
            sleep 15
            curl http://database:5984
```
