| YADC |
| === |
| |
| Yet Another Dockerized CouchDB. |
| Put the couch in a docker container and ship it anywhere. |
| |
| If you're looking for a CouchDB with SSL support you can check out [klaemo/couchdb-ssl](https://index.docker.io/u/klaemo/couchdb-ssl/) |
| |
| - Version (stable): `CouchDB 1.6.1`, `Erlang 17.3` |
| - Version (dev): `CouchDB 2.0 master`, `Erlang 17.3` |
| |
| ## Features |
| |
| * built on top of the solid and small `debian:jessie` base image |
| * exposes CouchDB on port `5984` of the container |
| * runs everything as user `couchdb` (security ftw!) |
| * docker volumes for data, logs and config |
| |
| ## Run (stable) |
| |
| Available as a trusted build on Docker Hub as [klaemo/couchdb](https://hub.docker.com/r/klaemo/couchdb/) |
| |
| ```bash |
| [sudo] docker pull klaemo/couchdb:latest |
| |
| # expose it to the world on port 5984 |
| [sudo] docker run -d -p 5984:5984 --name couchdb klaemo/couchdb |
| |
| curl http://localhost:5984 |
| ``` |
| |
| ## Run (stable with mounted Volume) |
| |
| ```bash |
| [sudo] docker pull klaemo/couchdb:latest |
| |
| # expose it to the world on port 5984 and use your current directory as the CouchDB Database directory |
| [sudo] docker run -d -p 5984:5984 -v $(pwd):/usr/local/var/lib/couchdb --name couchdb klaemo/couchdb |
| |
| curl http://localhost:5984 |
| ``` |
| |
| ## Run (dev) |
| |
| Available on the docker registry as [klaemo/couchdb:2.0-dev](https://index.docker.io/u/klaemo/couchdb/) |
| |
| ```bash |
| # expose the cluster to the world |
| [sudo] docker run -p 5984:5984 klaemo/couchdb:2.0-dev |
| |
| [ * ] Setup environment ... ok |
| [ * ] Ensure CouchDB is built ... ok |
| [ * ] Prepare configuration files ... ok |
| [ * ] Start node node1 ... ok |
| [ * ] Start node node2 ... ok |
| [ * ] Start node node3 ... ok |
| [ * ] Check node at http://127.0.0.1:15984/ ... failed: [Errno socket error] [Errno 111] Connection refused |
| [ * ] Check node at http://127.0.0.1:25984/ ... ok |
| [ * ] Check node at http://127.0.0.1:35984/ ... ok |
| [ * ] Check node at http://127.0.0.1:15984/ ... ok |
| [ * ] Running cluster setup ... ok |
| [ * ] Developers cluster is set up at http://127.0.0.1:15984. |
| Admin username: root |
| Password: 37l7YDQJ |
| Time to hack! ... |
| ``` |
| |
| ...or you can pass arguments to the binary |
| |
| ```bash |
| docker run -i -t klaemo/couchdb:2.0-dev --admin=foo:bar |
| ``` |
| |
| **Note:** The cluster will be exposed on port `5984`, because it internally uses haproxy. |
| |
| ## Build your own |
| |
| You can use `klaemo/couchdb` as the base image for your own couchdb instance. |
| You might want to provide your own version of the following files: |
| |
| * `local.ini` for your custom CouchDB config |
| |
| Example Dockerfile: |
| |
| ``` |
| FROM klaemo/couchdb:latest |
| |
| COPY local.ini /usr/local/etc/couchdb/ |
| ``` |
| |
| and then build and run |
| |
| ``` |
| [sudo] docker build -t you/awesome-couchdb . |
| [sudo] docker run -d -p 5984:5984 -v ~/couchdb:/usr/local/var/lib/couchdb you/awesome-couchdb |
| ``` |
| |
| ## Feedback, Issues, Contributing |
| |
| **Please use Github issues for any questions, bugs, feature requests. :)** |
| I don't get notified about comments on Docker Hub, so I might respond really late...or not at all. |
| |
| ## Contributors |
| |
| - [@joeybaker](https://github.com/joeybaker) |