CouchDB Official Docker

CouchDB is a document-oriented NoSQL database that stores data as JSON-like documents with ACID transactions, accessible through a RESTful JSON HTTP API.

  • Productivity
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
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)

Also on Docker Hub and GitHub

Health score

76/100 Good

Maintained
100last commit 2 days ago
Popular
777,005 GitHub stars
Easy to install
251 install platform, install notes
Light to run
No data

Based on 3 of 4 factors.

How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today, links checked 10 days ago

GitHub stars
7,005
Open issues
45
Last commit
2026-10-06
License
Apache-2.0
Activity
steady

Checked 2 days ago - source: GitHub (docker-library/official-images)

Resources & Compatibility

Requirements not published yet.

First-install notes

  • Point database_dir and view_index_dir at a volume Set database_dir and view_index_dir to the same mounted data directory, such as a named Docker volume, so documents and indexes persist. If you skip this, CouchDB may write to a disposable path and lose data after the container is recreated. source
  • Publish port 5984 for the CouchDB HTTP API Map the container's port 5984 to your host, for example with -p 5984:5984, so browsers and other services can reach the CouchDB HTTP API. If you skip this, the server is still running but you cannot open the UI or connect to localhost:5984 from your host. source
  • Match permissions for the couchdb user Run CouchDB as the couchdb user, or a UID/GID that owns the mounted data directory, so it can create and update database files. If permissions are wrong, startup can fail or CouchDB may be unable to write new documents and views. source

Fetched 9 days ago - each note links to its source

Alternatives (8)

  • 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.

Checked 7 days ago - source: AlternativeTo

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.

Answers sourced from docs.couchdb.org, docs.couchdb.org, docs.couchdb.org, docs.couchdb.org, senate.sh

Community

Collected 4 days ago - public community threads