diff --git a/.env.example b/.env.example
index 74d217b5b103664d1c7f11944e1e76e98213ae74..feb2e1d678d269c4df2c13ec22f327915546a60a 100644
--- a/.env.example
+++ b/.env.example
@@ -4,6 +4,9 @@ APP_LOG_LEVEL=debug
 APP_KEY=
 APP_URL=http://localhost
 
+REDIS_RESULT_CONNECTION=default
+REDIS_RESULT_CACHE_DURATION=60
+
 BROADCAST_DRIVER=log
 CACHE_DRIVER=file
 SESSION_DRIVER=file
diff --git a/build.sh b/build.sh
deleted file mode 100644
index 757e071aaa3e283b3fd5f1fdcc7797a77c52bc70..0000000000000000000000000000000000000000
--- a/build.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-set -e
-# Pfad zum neu geklonten Repo
-path=`pwd`
-cd ~/
-if [ -d MetaGer_neu ]; then rm -rf MetaGer_neu;fi
-git clone "$path" MetaGer_neu
-cd MetaGer_neu
-composer install
-cp $ENVFILE .env
-sed -i -e "s/APP_ENV=production/APP_ENV=$STAGE/g" .env
-cp $SUMAS config/sumas.json
-cp $SUMASEN config/sumasEn.json
-scp -P 63824 metager@metager3.de:~/blacklistUrl.txt config/
-scp -P 63824 metager@metager3.de:~/blacklistDomains.txt config/
-scp -P 63824 metager@metager3.de:~/adBlacklistUrl.txt config/
-scp -P 63824 metager@metager3.de:~/adBlacklistDomains.txt config/
-scp -P 63824 metager@metager3.de:~/spam.txt config/
-scp -P 63824 metager@metager3.de:~/UsersSeeder.php database/seeds/
-touch storage/logs/laravel.log
-touch storage/logs/worker.log
-touch database/metager.sqlite
-touch database/useragents.sqlite
-chmod 777 config/sumas.json config/sumas.json database/metager.sqlite database/useragents.sqlite
-chmod -R 777 storage
-chmod -R 777 bootstrap/cache
-npm install
-npm run production
-php artisan requests:gather
-if [ -f ~/MetaGer/artisan ]; then php ~/MetaGer/artisan down;fi
-cd ~/
-while [ -d ~/MetaGer ]; do rm -rf ~/MetaGer;done
-mv MetaGer_neu MetaGer
-sudo pkill --signal SIGHUP supervisord
-php ~/MetaGer/artisan up
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cf67b27735b17e5c6a2a832d6133830eff963091
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,31 @@
+version: '3.7'
+services:
+  phpdeps:
+    image: prooph/composer:7.3
+    volumes:
+      - .:/app
+    command: install
+  assets:
+    image: node:10
+    volumes:
+      - .:/usr/src/app
+    working_dir: /usr/src/app
+    command: bash -c "npm install && npm run watch"
+  dependencies:
+    image: alpine:latest
+    volumes:
+      - .:/data
+    working_dir: /data
+    command: /data/init.sh
+  web:
+    depends_on:
+      - "dependencies"
+      - "phpdeps"
+      - "assets"
+    restart: on-failure
+    build: .
+    working_dir: /html
+    volumes:
+      - .:/html
+    ports: 
+    - "8080:80"
diff --git a/init.sh b/init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..905683b982c2ad6da3559a8f27d7f5073127c876
--- /dev/null
+++ b/init.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if [ ! -f "/data/.env" ]; then
+    cp /data/.env.example /data/.env
+fi
+
+if [ -f "/data/database/useragents.sqlite" ]; then
+    rm /data/database/useragents.sqlite
+fi
+cp /data/database/useragents.sqlite.example /data/database/useragents.sqlite
+
+chmod -R go+w storage bootstrap/cache
\ No newline at end of file
diff --git a/start-dev.sh b/start-dev.sh
deleted file mode 100755
index 3e02cb8880458a20e073e39772df862261dd32b6..0000000000000000000000000000000000000000
--- a/start-dev.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-docker build . -t metager && docker run -p 8000:8000/tcp metager;