diff --git a/README.md b/README.md
index 50f21ef..6881108 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,57 @@ This is for running [prosody](https://prosody.im/) XMPP server software
 as the [Netz39 Jabber-Server](https://jabber.n39.eu/) and maybe you can
 use it, too?!
 
-Based on more or less official [prosody/prosody-docker](https://github.com/prosody/prosody-docker)
-with ideas from [OpusVL/prosody-docker](https://github.com/OpusVL/prosody-docker) and
-[unclev/prosody-docker-extended](https://github.com/unclev/prosody-docker-extended) …
+Based on more or less official
+[prosody/prosody-docker](https://github.com/prosody/prosody-docker) with
+ideas from
+[OpusVL/prosody-docker](https://github.com/OpusVL/prosody-docker) and
+[unclev/prosody-docker-extended](https://github.com/unclev/prosody-docker-extended)
+…
+
+## Usage
+
+### Build
+
+    docker build --tag prosody:0.11 .
+
+(Or whatever tag you like or need for your local deployments.)
+
+### Run
+
+Some things like the configuration file and the database obviously
+reside outside of any image or container.  We used sqlite as database,
+for other databases, you're on your own.  A local directory/file tree
+could look like this:
+
+```
+.
+├── etc
+│   └── prosody
+│       └── prosody.cfg.lua
+└── var
+    ├── lib
+    │   └── prosody
+    │       └── prosody.sqlite
+    └── log
+        └── prosody
+```
+
+You mount those as volumes to different points.  Some ports have to be
+exposed to the host.
+
+You can use a script to call `docker` with the required options like
+this and name it `run.sh` and call it to start the container:
+
+```sh
+#!/bin/sh
+docker run -d --name prosody --rm \
+        -p 5222:5222 -p 5269:5269 \
+        -v /srv/prosody/etc/prosody:/etc/prosody \
+        -v /srv/prosody/var/lib/prosody:/var/lib/prosody \
+        -v /srv/prosody/var/log/prosody:/var/log/prosody \
+        prosody:0.11
+```
+
+## Development
+
+Pull requests welcome.