diff --git a/1.6.1-couchperuser/Dockerfile b/1.6.1-couchperuser/Dockerfile
new file mode 100644
index 0000000..e509f39
--- /dev/null
+++ b/1.6.1-couchperuser/Dockerfile
@@ -0,0 +1,23 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+FROM klaemo/couchdb:1.6.1
+
+MAINTAINER Clemens Stolle klaemo@apache.org
+
+RUN apt-get update && apt-get install -y rebar build-essential \
+ && mkdir -p /usr/local/lib/couchdb/plugins/couchperuser \
+ && cd /usr/local/lib/couchdb/plugins/couchperuser \
+ && curl -L https://github.com/etrepum/couchperuser/archive/1.1.0.tar.gz | tar -xz --strip-components=1 \
+ && make \
+ && apt-get purge -y rebar build-essential \
+ && apt-get autoremove -y
diff --git a/1.6.1-couchperuser/docker-entrypoint.sh b/1.6.1-couchperuser/docker-entrypoint.sh
new file mode 100755
index 0000000..ba4dac3
--- /dev/null
+++ b/1.6.1-couchperuser/docker-entrypoint.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+set -e
+
+if [ "$1" = 'couchdb' ]; then
+  # we need to set the permissions here because docker mounts volumes as root
+  chown -R couchdb:couchdb \
+    /usr/local/var/lib/couchdb \
+    /usr/local/var/log/couchdb \
+    /usr/local/var/run/couchdb \
+    /usr/local/etc/couchdb
+
+  chmod -R 0770 \
+    /usr/local/var/lib/couchdb \
+    /usr/local/var/log/couchdb \
+    /usr/local/var/run/couchdb \
+    /usr/local/etc/couchdb
+
+  chmod 664 /usr/local/etc/couchdb/*.ini
+  chmod 775 /usr/local/etc/couchdb/*.d
+  exec gosu couchdb "$@"
+fi
+
+exec "$@"
diff --git a/README.md b/README.md
index 4ad1764..df5fae1 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,15 @@
 If you want to provide your own config, you can either mount a directory at `/usr/local/etc/couchdb`
 or extend the image and `COPY` your `config.ini` (see [Build you own](#build-your-own)).
 
+### with couchperuser plugin
+
+This build includes the `couchperuser` plugin.
+`couchperuser` is a CouchDB plugin daemon that creates per-user databases [github.com/etrepum/couchperuser](https://github.com/etrepum/couchperuser).
+
+```
+[sudo] docker run -d -p 5984:5984 --name couchdb klaemo/couchdb:1.6.1-couchperuser
+```
+
 ## Run (dev)
 
 Available on the docker registry as [klaemo/couchdb:2.0-dev](https://index.docker.io/u/klaemo/couchdb/)
