diff --git a/Dockerfile b/Dockerfile
index 54a65ec5528393e225985428d8d03925f3f2353c..f95a8b3d108aa9d1413b771f7a7e2a94d97686c8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,11 @@
-FROM python:3
+FROM python:3.6
 
-COPY . /tmp/
-RUN chmod +x /tmp/entrypoint.sh
+COPY requirements.txt /tmp/
 
 RUN pip install --no-cache-dir -r /tmp/requirements.txt
 
-RUN python /tmp/manage.py migrate
-ENTRYPOINT ["/tmp/entrypoint.sh"]
+#RUN python /tmp/manage.py migrate
+#ENTRYPOINT ["/tmp/entrypoint.sh"]
 
 # Superuser parameters are --username USERNAME and --email EMAIL but there is no password
 # RUN python /tmp/manage.py createsuperuser
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..263476c355626b81e6d51940af34cbf847f5c104
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+exec sudo docker build -t aura/pv .
diff --git a/cleanup.sh b/cleanup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..da119306e4e507effbb89626800d3b8f960b8ff6
--- /dev/null
+++ b/cleanup.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+BASE_D=$(realpath "${BASH_SOURCE%/*}/")
+
+rm -f "$BASE_D/pv/dev_data.sqlite"
diff --git a/prepare.sh b/prepare.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0542405d178def25161a20c2d115036871794606
--- /dev/null
+++ b/prepare.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+BASE_D=$(realpath "${BASH_SOURCE%/*}/")
+
+sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py migrate
+sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv bash -c "/srv/manage.py loaddata /srv/program/fixtures/*.yaml"
+sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py createsuperuser --username equinox --email equinox@helsinki.at
+sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py creatersakey
diff --git a/pv/oidc_provider_settings.py b/pv/oidc_provider_settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..481a907276327a9f67253b2853233d93898b28c2
--- /dev/null
+++ b/pv/oidc_provider_settings.py
@@ -0,0 +1,19 @@
+from django.utils.translation import ugettext as _
+from oidc_provider.lib.claims import ScopeClaims
+
+
+class AuraScopeClaims(ScopeClaims):
+
+    info_aura = (
+        _(u'aura'),
+        _(u'AURA specific auth info (username, shows, etc.).'),
+    )
+
+    def scope_aura(self):
+        show_slugs = list(self.user.shows.all().values_list('slug', flat=True))
+        dic = {
+            'username': self.user.username,
+            'shows': show_slugs
+        }
+
+        return dic
diff --git a/pv/settings.py b/pv/settings.py
index fd964b15dcf5e60a0de609e1f05244a9bd43d813..83ae49d36fbb481f3f45a5ee09f869ce4a53daef 100644
--- a/pv/settings.py
+++ b/pv/settings.py
@@ -179,6 +179,7 @@ CBA_REST_API_URL = CBA_URL + '/wp-json/wp/v2/'
 # OIDC Provider Settings
 USE_TZ = True # django-oidc-provider needs timezones in database
 LOGIN_URL = '/admin/login/' # Login page OIDC redirects to
+OIDC_EXTRA_SCOPE_CLAIMS = 'pv.oidc_provider_settings.AuraScopeClaims'
 
 #WSGI_APPLICATION = 'pv.wsgi.application';
 
@@ -195,4 +196,4 @@ SPECIAL_PROGRAM_IDS = ()
 try:
     from .local_settings import *
 except ImportError:
-    pass
\ No newline at end of file
+    pass
diff --git a/run.sh b/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4ad27d8f8a0621bd8ac58b91f0de76878c807e73
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+BASE_D=$(realpath "${BASH_SOURCE%/*}/")
+
+exec sudo docker run --rm -it -u $UID:$GID -p 127.0.0.1:8000:8000 -v "$BASE_D":/srv aura/pv /srv/manage.py runserver 0.0.0.0:8000