# CouchDB Official Docker

CouchDB Official Docker is a self-hosted productivity app. CouchDB is a document-oriented NoSQL database that stores data as JSON-like documents with ACID transactions, accessible through a RESTful JSON HTTP API. It is open source and self-hosted, installable on Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/32/couchdb-official-docker

## Description

CouchDB is a document-oriented NoSQL database that stores data as JSON-like documents with ACID transactions, accessible through a RESTful JSON HTTP API. This official Docker image provides a ready-to-run CouchDB instance for self-hosters, developers, and homelab users who need a flexible, open-source document database backend.

## Platform availability

Available on 1 of 6 install platforms: Unraid.

## Health score

76/100 (Good), based on 3 of 4 factors.
- Maintained: 100 (last commit 2 days ago)
- Popular: 77 (7,005 GitHub stars)
- Easy to install: 25 (1 install platform, install notes)

## Links

- Documentation: https://docs.couchdb.org/en/stable/install/docker.html
- Docker Hub: https://hub.docker.com/_/couchdb/
- Unraid: https://ca.unraid.net/apps/couchdb-offical-docker-v1-x-05ydeny0wlcr4q?q=CouchDB-Offical-Docker-v1.x
- GitHub: https://github.com/docker-library/official-images

## Common questions

### Which official Docker image should I use for CouchDB?

Apache CouchDB provides official images as apache/couchdb on Docker Hub. The same upstream release is usually mirrored at the top-level couchdb image.

### How do I keep CouchDB data when the container is removed?

Point database_dir and view_index_dir at the same mounted data directory or named Docker volume. If this is skipped, CouchDB may write to a disposable path and lose data after the container is recreated.

### Which port must I expose for the CouchDB HTTP API?

Map the container's port 5984 to the host, for example with -p 5984:5984. Without it, the server is still running but you cannot open the UI or connect from the host.

### What file permissions are required for a mounted CouchDB data directory?

Run CouchDB as the couchdb user, or with a UID/GID that owns the mounted data directory. Incorrect permissions can prevent startup or writing new documents and views.

### Can I set the CouchDB version, username, and password during deployment?

The Senate deployment guide for CouchDB with Docker allows the version tag, username, and password to be configured interactively.

## Alternatives

- BitNami Application Stacks: BitNami Stacks make it incredibly easy to deploy your favorite open source software.
- Distrobox: Use any Linux distribution inside your terminal.
- Docker Desktop: Docker Desktop is a one-click-install application that lets you to build, share, and run containerized applications and microservices.
- Linux Containers (LXC): Containers which offer an environment as close as possible as the one you'd get from a VM but without the overhead that comes with running…
- OrbStack: OrbStack is an alternative to Docker Desktop for macOS, designed to offer improved performance for Docker and virtual machines on Linux run…
- Podman: Podman is a daemon-less container runtime for managing containers, pods, and container images.
- Portainer: Portainer is a lightweight, open-source container management UI for Docker, Swarm, Podman, and Kubernetes environments.
- Rancher Desktop: Rancher Desktop is an open-source desktop application for Mac, Windows and Linux.

---
Source: Our Local Host (https://ourlocalhost.com/app/32/couchdb-official-docker), the self-hosted and open-source app directory.
