diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cbc24c1aeb2262d2951c0636ce7c1d1c311086f1..53bf1f34d680b4a5ca617f17093580494e68612e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,6 +14,7 @@ stages:
     # general settings
     ADMIN_USERNAME: admin
     ADMIN_PASSWORD: admin
+    OPERATION_MODE: tests
 
     # tank settings
     TANK_HOST: tank
@@ -37,7 +38,7 @@ stages:
     DASHBOARD_VERSION: main
     DASHBOARD_BRANCH: main
     DASHBOARD_PORT: 80
-    DASHBOARD_HOST: dashbaord
+    DASHBOARD_HOST: dashboard
     DASHBOARD_ORIGIN: http://$DASHBOARD_HOST:$DASHBOARD_PORT
     DASHBOARD_CALLBACK_BASE_URL: $DASHBOARD_ORIGIN
     DASHBOARD_OIDC_CLIENT_ID: 234567
@@ -57,96 +58,44 @@ stages:
         DJANGO_SUPERUSER_EMAIL: admin@example.org
         DJANGO_SUPERUSER_USERNAME: $ADMIN_USERNAME
         DJANGO_SUPERUSER_PASSWORD: $ADMIN_PASSWORD
+        CORS_ALLOWED_ORIGINS: $DASHBOARD_ORIGIN
+        ALLOWED_HOSTS: '*'
+        SITE_URL: $STEERING_ORIGIN
+        DEBUG: true
+        LOGGING_JSON: >
+          {
+            "version": 1,
+            "disable_existing_loggers": false,
+            "handlers": { "console": { "class": "logging.StreamHandler" } },
+            "root": { "handlers": ["console"], "level": "INFO" }
+          }
       entrypoint: ['/bin/bash']
       command:
         - '-c'
         - |
-          cat >>/app/steering/settings.py <<EOF
-          CORS_ALLOWED_ORIGINS = ["$DASHBOARD_ORIGIN"]
-          ALLOWED_HOSTS = ["*"]
-          SITE_URL = "$STEERING_ORIGIN"
-          DEBUG = True
-          LOGGING = {
-              "version": 1,
-              "disable_existing_loggers": False,
-              "handlers": {
-                  "console": {
-                      "class": "logging.StreamHandler",
-                  },
-              },
-              "root": {
-                  "handlers": ["console"],
-                  "level": "INFO",
-              },
-          }
-          EOF
           poetry run ./manage.py initialize
           poetry run ./manage.py loadfixtures sample
           exec ./entrypoint.sh run.prod
 
     - name: autoradio/tank:${TANK_VERSION}
       alias: tank
+      variables:
+        AURA_TANK_DEBUG: true
+        DATABASE_URL: postgres://$TANK_POSTGRES_USER:$TANK_POSTGRES_PASSWORD@postgres:5432/$TANK_POSTGRES_DB
+        OIDC_ISSUER_URL: $STEERING_ORIGIN/openid
+        OIDC_CLIENT_ID: 123456
+        OIDC_CLIENT_SECRET: $TANK_OIDC_CLIENT_SECRET
+        OIDC_CALLBACK_URL: $TANK_ORIGIN/auth/oidc/callback
+        CORS_ALLOW_CREDENTIALS: true
+        CORS_ALLOWED_ORIGINS: $DASHBOARD_ORIGIN
       entrypoint: ['/bin/bash']
       command:
         - '-c'
         - |
-          # make sure postgres is up before starting tank
-          while true; do
-            timeout 0.25 cat >/dev/null 2>&1 </dev/tcp/postgres/5432
-            if [ "$?" = 124 ]; then break; fi
-          done
-          while true; do
-            timeout 0.25 cat >/dev/null 2>&1 <"/dev/tcp/steering/$STEERING_PORT"
-            if [ "$?" = 124 ]; then break; fi
-          done
-          cat >/tmp/tank.yaml <<EOF
-          store:
-            path: /srv/audio
-            audio:
-              format: flac
-              sample-rate: 44100
-            db:
-              type: postgres
-              host: postgres
-              tls: disable
-              username: "$TANK_POSTGRES_USER"
-              password: "$TANK_POSTGRES_PASSWORD"
-              database: "$TANK_POSTGRES_DB"
-
-          importer:
-            temp-path: /srv/import-temp
-            workers: 4
-            normalizer: ffmpeg
-
-          auth:
-            sessions:
-              max-age: 12h
-              static:
-                engine:
-                  secret: no-secret
-                  readonly: true
-                  allShows: true
-            oidc:
-              issuer-url: $STEERING_ORIGIN/openid
-              client-id: $TANK_OIDC_CLIENT_ID
-              client-secret: $TANK_OIDC_CLIENT_SECRET
-              callback-url: $TANK_ORIGIN/auth/oidc/callback
-              login-timeout: 10m
-
-          web:
-            cors:
-              allowed-origins: ['$DASHBOARD_ORIGIN']
-              allowed-methods:
-                - GET
-                - PUT
-                - POST
-                - PATCH
-                - DELETE
-              allowed-headers: ['*']
-              allow-credentials: true
-              debug: true
-          EOF
-          /usr/local/bin/tank --config /tmp/tank.yaml run --listen ":$TANK_PORT"
+          # make sure postgres and steering are up before starting tank
+          wait-for-it --timeout=0 postgres:5432
+          wait-for-it --timeout=0 "$STEERING_HOST:$STEERING_PORT"
+          /usr/local/bin/tank run --listen ":$TANK_PORT"
 
     - name: autoradio/dashboard:${DASHBOARD_VERSION}
       alias: dashboard
@@ -165,4 +114,4 @@ integration-tests:
     - wait-for-it -t 120 -h tank -p "$TANK_PORT"
     - wait-for-it -t 120 -h dashboard -p "$DASHBOARD_PORT"
   script:
-    - echo 'insert integrations Tests'
\ No newline at end of file
+    - echo 'insert integrations Tests'