diff --git a/README.rst b/README.rst
index 6e4141741c09c2032e8052557b38f28668aaeccc..034e5bdb06e03706b470fe113567f69bb7675a46 100644
--- a/README.rst
+++ b/README.rst
@@ -28,10 +28,10 @@ and some text, selecting or uploading an image -- and by the time they arrive at
 the printer, the sign is already printed and ready to be posted on the wall.
 All while heeding the event’s design.
 
-  This tool frees the event organisators of the responsibility to pre-think all
-  the details of sign-making.  Instead, this part can simply be delegated to the
-  helpers who are setting up the event by showing them the web frontend of this
-  tool.
+This tool frees the event organisators of the responsibility to pre-think all
+the details of sign-making.  Instead, this part can simply be delegated to the
+helpers who are setting up the event by showing them the web frontend of this
+tool.
 
 
 .. _schildergenerator: https://git.fsmpi.rwth-aachen.de/schilder/schildergenerator
diff --git a/docs/installation.rst b/docs/installation.rst
index c1fdd55efade73716e49fd388dad35931b872bd2..09d3ea1e8e18be7af4f8e6da4575971b9bb1ceff 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -36,7 +36,18 @@ which is also included in the container image.  To create a volume based on it:
 You can also use a volume just for ``/usr/local/var/schilder2000-instance/data``
 and mount ``/usr/local/var/schilder2000-instance/config/config.py`` separately.
 
-Continue with :ref:`configuration`.
+Continue with :ref:`configuration` and :ref:`database-migration` before starting
+the container.
+
+Configure your inbound proxy to pass HTTP to port 8080, and your container
+management to launch the container as required.  For example, as plain
+invocation:
+
+.. code:: shell-session
+
+	% podman run --rm --detach --publish-all \
+	  --volume schilder2000-instance:/usr/local/var/schilder2000-instance \
+	  registry.git.fsmpi.rwth-aachen.de/schilder/schilder2000:{{TAG}}
 
 Without container
 -----------------
@@ -95,6 +106,7 @@ You will also likely want a WSGI server.  If in doubt, choose Gunicorn_:
 
 .. code:: shell-session
 
+	(venv) % pip install gunicorn
 	# apt-get install gunicorn
 	# dnf install python3-gunicorn
 	# apk add py3-gunicorn
@@ -111,7 +123,7 @@ database:
 
 .. code:: shell-session
 
-	% pip install "schilder2000[auth-saml,db-postgres]" \
+	(venv) % pip install "schilder2000[auth-saml,db-postgres]" \
 	  --index-url https://git.fsmpi.rwth-aachen.de/api/v4/projects/305/packages/pypi/simple
 
 Continue with :ref:`configuration`.
@@ -217,6 +229,8 @@ options:
 See also :external+flask:std:doc:`Flask documentation <config>` for additional
 options and information.
 
+.. _database-migration:
+
 Database migration
 ~~~~~~~~~~~~~~~~~~
 
@@ -225,7 +239,8 @@ cases, run the migrations:
 
 .. code:: shell-session
 
-	% flask -A schilder2000 alembic upgrade head
+	% flask -A schilder2000 alembic upgrade head  # without container
+	% podman run --rm --volume <...> <image> flask alembic upgrade head  # with container
 
 WSGI and webserver setup
 ~~~~~~~~~~~~~~~~~~~~~~~~