diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..991c3a2e8bb891eacbe8c8ba363b6a37feaf2a00
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+# OpenAppStack bootstrap script
+
+This collection of scripts allows you to easily set up a new OpenAppStack cluster.
+
+As part of the bootstrap process a special control shell is installed (in the form of
+a Docker image) which contains utilities to manage your cluster.
+
+## Bootstrapping a new cluster
+
+You need to have ssh access to the root account of the machine that will run
+your cluster. (We assume a single-node setup for now.)
+
+To run the bootstrap process:
+
+```
+./bootstrap $SERVER_IP
+```
+
+where `$SERVER_IP` is the ip address of the machine. (This address will also be
+stored in the cluster configuration and is used by the Traefik ingress
+controller, so even though using a domain name instead of an ip address may
+work at first, that is not recommended.)
+
+## Managing an existing cluster
+
+To start the control shell, run
+
+```
+./manage $SERVER_IP
+```
+
+where `$SERVER_IP` is the address of the machine running your cluster.