CouchDB is a free, open-source NoSQL database maintained by the Apache Software Foundation. Unlike traditional relational databases, CouchDB stores data as JSON documents inside named databases. Each document can contain text, numbers, arrays, booleans, and binary attachments, with no fixed schema to define upfront.
One of CouchDB’s most practical features is its built-in RESTful HTTP API. You can create, read, update, and delete documents using standard HTTP methods directly from the terminal or any HTTP client. This makes it straightforward to integrate with web applications, mobile apps, and API-driven services.
CouchDB is also built for fault tolerance. It uses Multi-Version Concurrency Control (MVCC) to handle simultaneous reads and writes without locking, and its built-in replication feature lets you sync databases between servers or to client devices, making it a strong fit for offline-capable applications.
This guide walks you through installing CouchDB on Ubuntu 18.04 and accessing it through the browser-based admin interface.
<strong>Prerequisite:</strong> You need sudo access.
CouchDB is not available in Ubuntu’s default repositories. Add the official Apache CouchDB repository first.
Import the CouchDB GPG signing key:
bashcurl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -
Add the repository to your sources list:
bashecho "deb https://couchdb.apache.org/repo/deb/ bionic main" | sudo tee -a /etc/apt/sources.list
Update the package list and install CouchDB:
bashsudo apt updatesudo apt install couchdb
The CouchDB installer walks you through three configuration prompts before finishing.
Deployment mode
The first prompt asks whether to run CouchDB in standalone or clustered mode. Choose standalone for a single-server setup. Clustered mode is for multi-node deployments where data is distributed across several servers.
Bind interface
The second prompt sets the IP address CouchDB listens on. The default is 127.0.0.1, which restricts access to the local machine. This is the right choice for most setups. If you need remote access or are setting up a cluster, enter the server’s IP address or 0.0.0.0 to listen on all interfaces.
Admin password
The third prompt asks you to set an administrator password. Set one. Leaving it blank keeps CouchDB in “admin party” mode, where every incoming request is treated as an admin request with no authentication required. That is a serious security risk on any internet-facing server.
Confirm the password and the installation completes.
Confirm CouchDB is running by sending a request to its default port:
bashcurl http://127.0.0.1:5984/
A successful response returns a JSON object like this:
json{ "couchdb": "Welcome", "version": "2.3.1", "uuid": "1d2074b5eb428c30240e0c7384036acf", "vendor": { "name": "The Apache Software Foundation" }} CouchDB also includes Fauxton, a browser-based admin interface for managing databases, documents, and users. Open it at:
http://127.0.0.1:5984/_utils/
From Fauxton you can create and browse databases, run queries, configure replication, and manage user permissions — all without touching the command line.
CouchDB is now installed and running on your Ubuntu 18.04 server. The combination of JSON document storage, a REST API, and Fauxton’s visual interface makes it easy to get started quickly. Visit the official CouchDB documentation for next steps on views, Mango queries, and replication. Leave a comment below if you run into any issues.
Minecraft is one of the most popular games ever made — a sandbox game where players…
Docker Compose is a tool that lets you define and run multi-container Docker applications using a…
Composer is a dependency manager for PHP. It works similarly to npm for Node.js or pip…
Squid is a full-featured caching proxy server that supports HTTP, HTTPS, and FTP. It is most…
Chromium is a fast, lightweight, open-source web browser developed primarily by Google. It serves as the…
MySQL Workbench is a cross-platform graphical tool for MySQL database administration. It brings together everything a…