diff --git a/README.rst b/README.rst
index 42655afc..187a15cf 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,7 @@
 symposion_app
-===============
+=============
+
+.. contents::
 
 At this time, considerations have not been made to have the django project run
 without additional infrastructure.
@@ -40,8 +42,36 @@ You may consider testing with testshib.
 
 Configure signing and encryption keys, and configure them in the settings.py
 
-VirtualEnv
-~~~~~~~~~~
+Running a dev instance in Docker
+--------------------------------
+
+Assuming you have docker installed and working on your machine::
+    ./make_dev_container.sh
+
+will build you a container and run through the initial setup steps.
+The last stage interactively creates a superuser account: you'll need
+to interact with this for it to finish.
+
+Once this has completed, you can hit http://localhost:28000/admin to
+log into the admin interface. Once you're logged in,
+http://localhost:28000 will take you to the dashboard.
+
+Note that when you do this you're logged in as a superuser, so what
+you see will be different from what a normal user will see.
+
+Making migrations
+~~~~~~~~~~~~~~~~~
+
+If you make changes to the data model, you'll need to run "manage.py
+makemigrations" to create a matching migration file. If you're on a
+mac, or a system without python3, this can be difficult. In such a
+case, the ``makemigrations.sh`` script takes advantaged of a docker
+container that's slightly modified, and runs the makemigration action
+on the files in your working directory.
+
+
+Running a dev instance in a VirtualEnv
+--------------------------------------
 
 Not all things are lovely, so we use constraints to force the versions we
 we wish for without having to do anything ugly.  This may require a newer
@@ -54,6 +84,9 @@ with a python3 interpreter.
 - ``source ./venv/bin/activate``
 - ``pip install -c constraints.txt -r requirements.txt``
 
+Once your dev instance is up and running
+----------------------------------------
+
 Pre-post-start configuration
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -72,6 +105,9 @@ Shut down and now run:
 
 Now you can run the system and see how it goes.
 
+Admin tasks
+-----------
+
 Admin Credentials
 ~~~~~~~~~~~~~~~~~
 
diff --git a/make_dev_container.sh b/make_dev_container.sh
index 17a5afab..d53c7eb2 100755
--- a/make_dev_container.sh
+++ b/make_dev_container.sh
@@ -9,10 +9,14 @@ docker container create --env-file docker/laptop-mode-env -p 28000:8000 --name s
 docker container start symposion
 docker exec symposion ./manage.py migrate
 docker exec symposion ./manage.py loaddata ./fixtures/*.json
+docker exec symposion ./manage.py populate_inventory
 docker exec symposion ./manage.py create_review_permissions
-docker exec -it symposion ./manage.py createsuperuser
+docker exec -it symposion ./manage.py createsuperuser --username root --email root@example.com
 
-## The following sets up everything required for rego - tickets and
-## t-shirts and stuff. At this stage, it's not something we want.
+set +x
+echo "Now you can log into http://localhost:28000/admin"
+echo "Username: root      Password: the one you just typed twice"
+echo "If you need to test as a non-admin user, create one at"
+echo "http://localhost:28000/admin/auth/user/add/ - then log out"
+echo "and log back in at http://localhost:28000"
 
-#docker exec symposion ./manage.py populate_inventory