diff --git a/Dockerfile b/Dockerfile
index f61fe3c49c69ad49eff14fb683f9a5ecf6f6c9a5..9e1e01693133bf909817d115fcb3a81a29ab84fe 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,50 +1,59 @@
-FROM nginx
+FROM alpine:3.9.5
 
-RUN apt -y update && apt -y install php-fpm \
+RUN apk add --update \
+    nginx \
+    tzdata \
     ca-certificates \
-    cron \
+    dcron \
     zip \
-    php7.3-common \
-    php7.3-curl \
-    php7.3-mbstring \
-    php7.3-sqlite3 \
-    php7.3-mysql \
-    php7.3-xml \
-    php7.3-zip \
-    php7.3-redis \
-    php7.3-gd \
-    redis-server
-
-RUN sed -i 's/listen.owner = www-data/listen.owner = nginx/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/listen.group = www-data/listen.group = nginx/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/pm.max_children = 5/pm.max_children = 100/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/pm.start_servers = 2/pm.start_servers = 25/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 25/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/user = www-data/user = nginx/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/group = www-data/group = nginx/g' /etc/php/7.3/fpm/pool.d/www.conf && \
-    sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.3/fpm/php.ini && \
-    rm /var/log/nginx/access.log && ln -s /dev/null /var/log/nginx/access.log && \
-    rm /var/log/nginx/error.log && ln -s /dev/stdout /var/log/nginx/error.log && \
-    mkdir /html
-
-# Set correct timezone
-RUN ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
-
-# Add Cronjob for Laravel
-RUN (crontab -l ; echo "* * * * * php /html/artisan schedule:run >> /dev/null 2>&1") | crontab
+    redis \
+    php7 \
+    php7-fpm \
+    php7-common \
+    php7-curl \
+    php7-mbstring \
+    php7-sqlite3 \
+    php7-pdo_mysql \
+    php7-pdo_sqlite \
+    php7-dom \
+    php7-simplexml \
+    php7-tokenizer \
+    php7-zip \
+    php7-redis \
+    php7-gd \
+    php7-json \
+    php7-pcntl \
+    && rm -rf /var/cache/apk/*
 
 WORKDIR /html
-EXPOSE 80
+
+RUN sed -i 's/user = nobody/user = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/group = nobody/group = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.max_children = 5/pm.max_children = 100/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 25/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/user = www-data/user = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/group = www-data/group = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php7/php.ini && \
+    echo "daemonize yes" >> /etc/redis.conf && \
+    ln -s /dev/null /var/log/nginx/access.log && \
+    ln -s /dev/stdout /var/log/nginx/error.log && \
+    cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
+    echo "Europe/Berlin" > /etc/timezone && \
+    (crontab -l ; echo "* * * * * php /html/artisan schedule:run >> /dev/null 2>&1") | crontab -
 
 COPY config/nginx.conf /etc/nginx/nginx.conf
 COPY config/nginx-default.conf /etc/nginx/conf.d/default.conf
 COPY --chown=root:nginx . /html
 
+WORKDIR /html
+EXPOSE 80
+
 CMD chown -R root:nginx storage/logs/metager bootstrap/cache && \
     chmod -R g+w storage/logs/metager bootstrap/cache && \
-    /etc/init.d/cron start && \
-    /etc/init.d/php7.3-fpm start && \
-    /etc/init.d/nginx start && \
-    /etc/init.d/redis-server start && \
-    su -s /bin/bash -c 'php artisan requests:fetcher' nginx
+    crond -L /dev/stdout && \
+    nginx && \
+    php-fpm7 -D && \
+    redis-server /etc/redis.conf && \
+    su -s /bin/sh -c 'php artisan requests:fetcher' nginx
diff --git a/Dockerfile.dev b/Dockerfile.dev
new file mode 100644
index 0000000000000000000000000000000000000000..25241f728ff96ca8192d2d45bc7066764f141029
--- /dev/null
+++ b/Dockerfile.dev
@@ -0,0 +1,55 @@
+FROM alpine:3.9.5
+
+RUN apk add --update \
+    nginx \
+    tzdata \
+    ca-certificates \
+    dcron \
+    zip \
+    redis \
+    php7 \
+    php7-fpm \
+    php7-common \
+    php7-curl \
+    php7-mbstring \
+    php7-sqlite3 \
+    php7-pdo_mysql \
+    php7-pdo_sqlite \
+    php7-dom \
+    php7-simplexml \
+    php7-tokenizer \
+    php7-zip \
+    php7-redis \
+    php7-gd \
+    php7-json \
+    php7-pcntl \
+    && rm -rf /var/cache/apk/*
+
+WORKDIR /html
+
+RUN sed -i 's/user = nobody/user = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/group = nobody/group = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.max_children = 5/pm.max_children = 100/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 25/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/user = www-data/user = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/group = www-data/group = nginx/g' /etc/php7/php-fpm.d/www.conf && \
+    sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php7/php.ini && \
+    echo "daemonize yes" >> /etc/redis.conf && \
+    ln -s /dev/null /var/log/nginx/access.log && \
+    ln -s /dev/stdout /var/log/nginx/error.log && \
+    cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
+    echo "Europe/Berlin" > /etc/timezone && \
+    (crontab -l ; echo "* * * * * php /html/artisan schedule:run >> /dev/null 2>&1") | crontab -
+
+WORKDIR /html
+EXPOSE 80
+
+CMD chown -R root:nginx storage/logs/metager bootstrap/cache && \
+    chmod -R g+w storage/logs/metager bootstrap/cache && \
+    crond -L /dev/stdout && \
+    nginx && \
+    php-fpm7 -D && \
+    redis-server /etc/redis.conf && \
+    su -s /bin/sh -c 'php artisan requests:fetcher' nginx
diff --git a/app/Console/Commands/RequestFetcher.php b/app/Console/Commands/RequestFetcher.php
index 9b986603af972b57e341d7327218940608b28bec..6a52264417a4326b744a4a596c808fe65eba7610 100644
--- a/app/Console/Commands/RequestFetcher.php
+++ b/app/Console/Commands/RequestFetcher.php
@@ -50,9 +50,6 @@ class RequestFetcher extends Command
      */
     public function handle()
     {
-        $pids = [];
-
-        pcntl_async_signals(true);
         pcntl_signal(SIGINT, [$this, "sig_handler"]);
         pcntl_signal(SIGTERM, [$this, "sig_handler"]);
         pcntl_signal(SIGHUP, [$this, "sig_handler"]);
@@ -114,9 +111,6 @@ class RequestFetcher extends Command
         } finally {
             curl_multi_close($this->multicurl);
         }
-        foreach ($pids as $tmppid) {
-            \pcntl_waitpid($tmppid, $status, WNOHANG);
-        }
     }
 
     private function getCurlHandle($job)
diff --git a/app/Http/Controllers/AdminInterface.php b/app/Http/Controllers/AdminInterface.php
index d0b4664fece70baba754309f5333736434528707..4cbd7e9adbd43d5887de8d0e3ff1b86644c2ef93 100644
--- a/app/Http/Controllers/AdminInterface.php
+++ b/app/Http/Controllers/AdminInterface.php
@@ -77,7 +77,7 @@ class AdminInterface extends Controller
     private function getSearchEngineNames()
     {
         $url = config_path() . "/sumas.xml";
-        $xml = simplexml_load_file($url);
+        $xml = \simplexml_load_file($url);
         $sumas = $xml->xpath("suma");
 
         $names = array();
diff --git a/app/Http/Controllers/Assoziator.php b/app/Http/Controllers/Assoziator.php
index f7163585e765e9009b5408a2fad0b2fd040f9966..b4a7d686dbaaf71e194d27d4f17d958b7fda643c 100644
--- a/app/Http/Controllers/Assoziator.php
+++ b/app/Http/Controllers/Assoziator.php
@@ -42,7 +42,7 @@ class Assoziator extends Controller
         }
 
         $response = preg_replace("/^<\?.*\?>/s", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>", $response);
-        $content = simplexml_load_string($response);
+        $content = \simplexml_load_string($response);
 
         $words = [];
 
diff --git a/app/Http/Controllers/FokiLoader.php b/app/Http/Controllers/FokiLoader.php
index 5b1a06713d667e43f9c96dac55545ccdf73a0f26..a71e69729d7858f67c32903d44e25e109cd8c1c5 100644
--- a/app/Http/Controllers/FokiLoader.php
+++ b/app/Http/Controllers/FokiLoader.php
@@ -15,7 +15,7 @@ class FokiLoader
             $sumaFile = config_path() . "/sumas.xml";
         }
 
-        $xml = simplexml_load_file($sumaFile);
+        $xml = \simplexml_load_file($sumaFile);
         $sumas = $xml->xpath("suma");
 
         $foki = [];
diff --git a/app/Http/Controllers/MetaGerSearch.php b/app/Http/Controllers/MetaGerSearch.php
index 191cbd0cf174d5513f5b547f82f571582555b949..59c6bde3fa5dbd07ae1179426f59035af921d3af 100644
--- a/app/Http/Controllers/MetaGerSearch.php
+++ b/app/Http/Controllers/MetaGerSearch.php
@@ -253,7 +253,7 @@ class MetaGerSearch extends Controller
         $tips_text = file_get_contents($tipserver);
         $tips = [];
         try {
-            $tips_xml = simplexml_load_string($tips_text);
+            $tips_xml = \simplexml_load_string($tips_text);
 
             $tips_xml->registerXPathNamespace('mg', 'http://metager.de/tips/');
             $tips_xml = $tips_xml->xpath('mg:tip');
diff --git a/app/Models/Quicktips/Quicktips.php b/app/Models/Quicktips/Quicktips.php
index 2022b26b2d6976f6046979d28b04af4d4a3c3914..06306dcde031b42f5b8b3f9cfd208d8e7a0f7680 100644
--- a/app/Models/Quicktips/Quicktips.php
+++ b/app/Models/Quicktips/Quicktips.php
@@ -86,7 +86,7 @@ class Quicktips
     {
         $quicktips_raw = preg_replace("/\r\n/si", "", $quicktips_raw);
         try {
-            $content = simplexml_load_string($quicktips_raw);
+            $content = \simplexml_load_string($quicktips_raw);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/XmlSearchengine.php b/app/Models/XmlSearchengine.php
index f0bd0cc37072b28e0e709b75c95a179d5cd0bb06..9cf973399a92dd4a5fcde54e3a637f88d843862e 100644
--- a/app/Models/XmlSearchengine.php
+++ b/app/Models/XmlSearchengine.php
@@ -9,7 +9,7 @@ abstract class XmlSearchengine extends Searchengine
     public function loadresults($results)
     {
         try {
-            $resultsXml = simplexml_load_string($results);
+            $resultsXml = \simplexml_load_string($results);
             $this->loadXmlResults($resultsXml);
         } catch (\Exception $e) {
             Log::error($e->getMessage());
diff --git a/app/Models/parserSkripte/BASE.php b/app/Models/parserSkripte/BASE.php
index 64f7a0321a7f90b7b45b5fea9985fdb5f22fc4c1..c47dee3d8b3ce6bb5b744a6ad49e27b1f6373e26 100644
--- a/app/Models/parserSkripte/BASE.php
+++ b/app/Models/parserSkripte/BASE.php
@@ -18,7 +18,7 @@ class BASE extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -33,7 +33,7 @@ class BASE extends Searchengine
                             $title = $attribute;
                             break;
                         case 'dclink':
-                            $link        = $attribute;
+                            $link = $attribute;
                             $anzeigeLink = $link;
                             break;
                         case 'dcdescription':
@@ -49,7 +49,7 @@ class BASE extends Searchengine
                         $link,
                         $anzeigeLink,
                         $descr,
-                        $this->engine->{"display-name"},$this->engine->homepage,
+                        $this->engine->{"display-name"}, $this->engine->homepage,
                         $this->counter
                     );
                 }
diff --git a/app/Models/parserSkripte/Blogsearch.php b/app/Models/parserSkripte/Blogsearch.php
index a97f217c8960df4b790943626aec6e2465f2a301..83689ffcd439ffac4c9482b9b1c8ad4b48e7cedf 100644
--- a/app/Models/parserSkripte/Blogsearch.php
+++ b/app/Models/parserSkripte/Blogsearch.php
@@ -18,17 +18,17 @@ class Blogsearch extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//xml/docs/doc');
             foreach ($results as $result) {
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"url"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"url"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = $result->{"content"}->__toString();
+                $descr = $result->{"content"}->__toString();
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -36,7 +36,7 @@ class Blogsearch extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
             }
diff --git a/app/Models/parserSkripte/Ebay.php b/app/Models/parserSkripte/Ebay.php
index b9ea1351fab8e885f4a3268d86662a7ef6e37c6a..848e01a75d484cb5c102f836dcb630f4946a51f4 100644
--- a/app/Models/parserSkripte/Ebay.php
+++ b/app/Models/parserSkripte/Ebay.php
@@ -18,7 +18,7 @@ class Ebay extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/Ecoshopper.php b/app/Models/parserSkripte/Ecoshopper.php
index 6555361f3bda488933981c8c2bd2b754aff0b015..818d55cf7fa39a1f57411fdf65cf27fcafe4316d 100644
--- a/app/Models/parserSkripte/Ecoshopper.php
+++ b/app/Models/parserSkripte/Ecoshopper.php
@@ -18,16 +18,16 @@ class Ecoshopper extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//response/result[@name="response"]/doc');
             foreach ($results as $result) {
-                $result      = simplexml_load_string($result->saveXML());
-                $title       = $result->xpath('//doc/str[@name="artikelName"]')[0]->__toString();
-                $link        = $result->xpath('//doc/str[@name="artikelDeeplink"]')[0]->__toString();
+                $result = \simplexml_load_string($result->saveXML());
+                $title = $result->xpath('//doc/str[@name="artikelName"]')[0]->__toString();
+                $link = $result->xpath('//doc/str[@name="artikelDeeplink"]')[0]->__toString();
                 $anzeigeLink = parse_url($link);
                 if (isset($anzeigeLink['query'])) {
                     parse_str($anzeigeLink['query'], $query);
@@ -49,10 +49,10 @@ class Ecoshopper extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter,
                     ['partnershop' => false,
-                        'image'        => $image]
+                        'image' => $image]
                 );
             }
         } catch (\Exception $e) {
diff --git a/app/Models/parserSkripte/Exalead.php b/app/Models/parserSkripte/Exalead.php
index 399b888e5351fddd82d40a490bcbf387771a620a..a500dc750e7aecb7db0915d06d89a549a1018321 100644
--- a/app/Models/parserSkripte/Exalead.php
+++ b/app/Models/parserSkripte/Exalead.php
@@ -18,7 +18,7 @@ class Exalead extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/Flickr.php b/app/Models/parserSkripte/Flickr.php
index 1292867d01e57c993b6729e0b0151e2418bc5d9d..c04724e09dc50dcfdb9060673140b5e7ace7df02 100644
--- a/app/Models/parserSkripte/Flickr.php
+++ b/app/Models/parserSkripte/Flickr.php
@@ -18,7 +18,7 @@ class Flickr extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -53,7 +53,7 @@ class Flickr extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/Kelkoo.php b/app/Models/parserSkripte/Kelkoo.php
index 03796a476fe7d54b914863a7d5f0049c5c28f8a4..75380f558bf80dc0fe2214b57f5dd339ed437c8b 100644
--- a/app/Models/parserSkripte/Kelkoo.php
+++ b/app/Models/parserSkripte/Kelkoo.php
@@ -18,14 +18,13 @@ class Kelkoo extends Searchengine
         $this->hash = md5($this->engine->host . $this->getString . $this->engine->port . $this->name);
     }
 
-       
     public function loadResults($result)
     {
         $result = preg_replace("/\r\n/si", "", $result);
         # delete namespace, allowing easier xpath access
         $result = str_replace('xmlns="urn:yahoo:prods"', '', $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -40,23 +39,22 @@ class Kelkoo extends Searchengine
             $results = $content->xpath('/ProductSearch/Products/Product/Offer');
 
             foreach ($results as $result) {
-                $result      = simplexml_load_string($result->saveXML());
+                $result = \simplexml_load_string($result->saveXML());
+
+                $title = $result->Title[0]->__toString();
 
-                $title       = $result->Title[0]->__toString();
-                
                 $price = floatval($result->Price[0]->Price[0]);
                 $deliveryPrice = floatval($result->Price[0]->DeliveryCost[0]);
                 $totalPrice = $price + $deliveryPrice;
 
                 $descr = "";
-            
-                if(isset($result->Description[0]))
-                {
+
+                if (isset($result->Description[0])) {
                     $descr = $result->Description[0]->__toString();
                 }
-                $descr      .= "<p>Preis: " . $price . " €</p>";
-                $image       = $result->Images[0]->Image[0]->Url[0]->__toString();
-                $link        = $result->Url[0]->__toString();
+                $descr .= "<p>Preis: " . $price . " €</p>";
+                $image = $result->Images[0]->Image[0]->Url[0]->__toString();
+                $link = $result->Url[0]->__toString();
                 $anzeigeLink = $result->Merchant[0]->Name[0]->__toString();
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
@@ -65,10 +63,10 @@ class Kelkoo extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter,
                     ['image' => $image,
-                     'price' => $totalPrice * 100]
+                        'price' => $totalPrice * 100]
                 );
             }
         } catch (\Exception $e) {
@@ -84,7 +82,7 @@ class Kelkoo extends Searchengine
         # delete namespace, allowing easier xpath access
         $result = str_replace('xmlns="urn:yahoo:prods"', '', $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -120,22 +118,22 @@ class Kelkoo extends Searchengine
         $next = new Kelkoo($this->name, $this->engine, $metager);
         $next->unsignedGetString .= "&start=" . ($current + 20);
         $next->getString = $next->UrlSigner($next->unsignedGetString);
-        
+
         $next->hash = md5($next->engine->host . $next->getString . $next->engine->port . $next->name);
         $this->next = $next;
     }
 
-
     # kelkoogroup.com/kelkoo-customer-service/kelkoo-developer-network/shopping-services/samples/signing-url-php/
-    public function UrlSigner($path){
-        
+    public function UrlSigner($path)
+    {
+
         $urlPath = $path;
         $partner = $this->engine->{"http-auth-credentials"}->ID;
         $key = $this->engine->{"http-auth-credentials"}->Key;
 
         $URL_sig = "hash";
         $URL_ts = "timestamp";
-        $URL_partner = "aid"; 
+        $URL_partner = "aid";
         $URLreturn = "";
         $URLtmp = "";
         $s = "";
@@ -145,7 +143,7 @@ class Kelkoo extends Searchengine
         $urlPath = str_replace(" ", "+", $urlPath);
         // format URL
         $URLtmp = $urlPath . "&" . $URL_partner . "=" . $partner . "&" . $URL_ts . "=" . $time;
-       
+
         // URL needed to create the token
         $s = $urlPath . "&" . $URL_partner . "=" . $partner . "&" . $URL_ts . "=" . $time . $key;
         $token = "";
diff --git a/app/Models/parserSkripte/Mg_produkt2.php b/app/Models/parserSkripte/Mg_produkt2.php
index 8136279bc2d0376683315aa6a0a77d885beffeda..455965c9494b60e8b6221447ecdcd10f5e724ce1 100644
--- a/app/Models/parserSkripte/Mg_produkt2.php
+++ b/app/Models/parserSkripte/Mg_produkt2.php
@@ -18,7 +18,7 @@ class Mg_produkt2 extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -27,14 +27,14 @@ class Mg_produkt2 extends Searchengine
 
             foreach ($results as $result) {
 
-                $result      = simplexml_load_string($result->saveXML());
-                $title       = $result->xpath('/doc/arr[@name="artikelName"]')[0]->{"str"}->__toString();
-                $link        = $result->xpath('/doc/arr[@name="artikelDeeplink"]')[0]->{"str"}->__toString();
+                $result = \simplexml_load_string($result->saveXML());
+                $title = $result->xpath('/doc/arr[@name="artikelName"]')[0]->{"str"}->__toString();
+                $link = $result->xpath('/doc/arr[@name="artikelDeeplink"]')[0]->{"str"}->__toString();
                 $anzeigeLink = parse_url($link);
                 parse_str($anzeigeLink['query'], $query);
                 $anzeigeLink = $query['diurl'];
-                $descr       = $result->xpath('/doc/arr[@name="artikelBeschreibung"]')[0]->{"str"}->__toString();
-                $image       = $result->xpath('/doc/arr[@name="artikelImageurl"]')[0]->{"str"}->__toString();
+                $descr = $result->xpath('/doc/arr[@name="artikelBeschreibung"]')[0]->{"str"}->__toString();
+                $image = $result->xpath('/doc/arr[@name="artikelImageurl"]')[0]->{"str"}->__toString();
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -42,7 +42,7 @@ class Mg_produkt2 extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter,
                     ['image' => $image]
                 );
diff --git a/app/Models/parserSkripte/Minisucher.php b/app/Models/parserSkripte/Minisucher.php
index f318b2442269759802c9ee29f494d7554bb08609..69a55f9dcd5e0bd5bdcc253d441c71e9a330988e 100644
--- a/app/Models/parserSkripte/Minisucher.php
+++ b/app/Models/parserSkripte/Minisucher.php
@@ -18,7 +18,7 @@ class Minisucher extends Searchengine
     public function loadResults($content)
     {
         try {
-            $content = simplexml_load_string($content);
+            $content = \simplexml_load_string($content);
         } catch (\Exception $e) {
             return;
         }
@@ -35,7 +35,7 @@ class Minisucher extends Searchengine
         foreach ($results as $result) {
             try {
                 $counter++;
-                $result = simplexml_load_string($result->saveXML());
+                $result = \simplexml_load_string($result->saveXML());
 
                 $title = $result->xpath('//doc/arr[@name="title"]/str')[0]->__toString();
                 $link = $result->xpath('//doc/str[@name="url"]')[0]->__toString();
diff --git a/app/Models/parserSkripte/Opencrawlastronomie.php b/app/Models/parserSkripte/Opencrawlastronomie.php
index c8909f941b6660ba811b583b4869e0cfd5adc971..beeaa07c7fe19c49aa3cc85efe10021fe27bf1bb 100644
--- a/app/Models/parserSkripte/Opencrawlastronomie.php
+++ b/app/Models/parserSkripte/Opencrawlastronomie.php
@@ -18,22 +18,22 @@ class Opencrawlastronomie extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//rss/channel/item');
-            $count   = 0;
+            $count = 0;
             foreach ($results as $result) {
                 if ($count > 10) {
                     break;
                 }
 
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = strip_tags($result->{"description"}->__toString());
+                $descr = strip_tags($result->{"description"}->__toString());
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -41,7 +41,7 @@ class Opencrawlastronomie extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
                 $count++;
diff --git a/app/Models/parserSkripte/Opencrawlpolitik.php b/app/Models/parserSkripte/Opencrawlpolitik.php
index 75c36f68fd720305d1a290b7ac390400b0ac5dc9..9f2490f00ddf80bad93c93d94362e2eb1e69d0a2 100644
--- a/app/Models/parserSkripte/Opencrawlpolitik.php
+++ b/app/Models/parserSkripte/Opencrawlpolitik.php
@@ -18,13 +18,13 @@ class Opencrawlpolitik extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//rss/channel/item');
-            $count   = 0;
+            $count = 0;
             foreach ($results as $result) {
                 if ($count > 10) {
                     break;
@@ -38,10 +38,10 @@ class Opencrawlpolitik extends Searchengine
 
                 $additionalInformation = ['date' => $dateVal];
 
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = strip_tags(htmlspecialchars_decode($result->{"description"}->__toString()));
+                $descr = strip_tags(htmlspecialchars_decode($result->{"description"}->__toString()));
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -49,7 +49,7 @@ class Opencrawlpolitik extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter,
                     $additionalInformation
                 );
diff --git a/app/Models/parserSkripte/Opencrawlregengergie.php b/app/Models/parserSkripte/Opencrawlregengergie.php
index 1db47c49c934e7b3ef9638835c0f46e8cbda102f..53d232bf2bfed26b3a9b7331fa9ec2c59133397a 100644
--- a/app/Models/parserSkripte/Opencrawlregengergie.php
+++ b/app/Models/parserSkripte/Opencrawlregengergie.php
@@ -18,22 +18,22 @@ class Opencrawlregengergie extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//rss/channel/item');
-            $count   = 0;
+            $count = 0;
             foreach ($results as $result) {
                 if ($count > 10) {
                     break;
                 }
 
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = strip_tags($result->{"description"}->__toString());
+                $descr = strip_tags($result->{"description"}->__toString());
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -41,7 +41,7 @@ class Opencrawlregengergie extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
                 $count++;
diff --git a/app/Models/parserSkripte/Overture.php b/app/Models/parserSkripte/Overture.php
index 9a2825e8f95fd07828210e9889e20a41891dc8da..ece8bafa3e1781acd42179c243fa07007fb0b9cf 100644
--- a/app/Models/parserSkripte/Overture.php
+++ b/app/Models/parserSkripte/Overture.php
@@ -21,7 +21,7 @@ class Overture extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -84,7 +84,7 @@ class Overture extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/OvertureAds.php b/app/Models/parserSkripte/OvertureAds.php
index 36bff4285c591e6bfa14624ea5f05161f8f2fd67..7270c90d64c16e52eaab7bd7069a055c8f812f6b 100644
--- a/app/Models/parserSkripte/OvertureAds.php
+++ b/app/Models/parserSkripte/OvertureAds.php
@@ -20,7 +20,7 @@ class OvertureAds extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -55,7 +55,7 @@ class OvertureAds extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/Qip.php b/app/Models/parserSkripte/Qip.php
index 0a43dd0c3a27bb79598d45f4ffd68ee850fb5014..7c3b1f0238421076b4d1649124654f93f58758bd 100644
--- a/app/Models/parserSkripte/Qip.php
+++ b/app/Models/parserSkripte/Qip.php
@@ -18,17 +18,17 @@ class Qip extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
 
             $results = $content->xpath('//channel/item');
             foreach ($results as $result) {
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = $result->{"description"}->__toString();
+                $descr = $result->{"description"}->__toString();
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -36,7 +36,7 @@ class Qip extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
             }
diff --git a/app/Models/parserSkripte/Scopia.php b/app/Models/parserSkripte/Scopia.php
index 29a1b5b7cd56f7b9ebab66fec0e36fb30dffc006..8403d07a49efa45c0f8bdf173f03d744c64b731d 100644
--- a/app/Models/parserSkripte/Scopia.php
+++ b/app/Models/parserSkripte/Scopia.php
@@ -23,7 +23,7 @@ class Scopia extends Searchengine
 
         try {
 
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -59,7 +59,7 @@ class Scopia extends Searchengine
         $result = html_entity_decode($result);
         $result = str_replace("&", "&amp;", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
 
         } catch (\Exception $e) {
             Log::error("A problem occurred parsing results from $this->name:");
diff --git a/app/Models/parserSkripte/Shopzilla.php b/app/Models/parserSkripte/Shopzilla.php
index 40e187b0b0ba5f72178986264612761720d0e3a2..f0cf7cf82d423ac93603bb2d56183c838ec647a5 100644
--- a/app/Models/parserSkripte/Shopzilla.php
+++ b/app/Models/parserSkripte/Shopzilla.php
@@ -18,7 +18,7 @@ class Shopzilla extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -66,7 +66,7 @@ class Shopzilla extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/app/Models/parserSkripte/Tuhh.php b/app/Models/parserSkripte/Tuhh.php
index e6380ad2fd9c3bf8de88997eebca98780f7d63b1..7dfe58cc2608c72e48731da827e75b3563dc2e1e 100644
--- a/app/Models/parserSkripte/Tuhh.php
+++ b/app/Models/parserSkripte/Tuhh.php
@@ -18,7 +18,7 @@ class Tuhh extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -29,10 +29,10 @@ class Tuhh extends Searchengine
                     break;
                 }
 
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}["href"]->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}["href"]->__toString();
                 $anzeigeLink = $link;
-                $descr       = strip_tags($result->{"summary"}->__toString());
+                $descr = strip_tags($result->{"summary"}->__toString());
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -40,7 +40,7 @@ class Tuhh extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
                 $count++;
diff --git a/app/Models/parserSkripte/Yacyunih.php b/app/Models/parserSkripte/Yacyunih.php
index 9a65805669448f39dada46f3cd6a7799d21a5580..8b357b024da23aa6f48ece5b2928f4d14a5a4342 100644
--- a/app/Models/parserSkripte/Yacyunih.php
+++ b/app/Models/parserSkripte/Yacyunih.php
@@ -18,7 +18,7 @@ class Yacyunih extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -32,10 +32,10 @@ class Yacyunih extends Searchengine
                 if ($count > 10) {
                     break;
                 }
-                $title       = $result->{"title"}->__toString();
-                $link        = $result->{"link"}->__toString();
+                $title = $result->{"title"}->__toString();
+                $link = $result->{"link"}->__toString();
                 $anzeigeLink = $link;
-                $descr       = strip_tags($result->{"description"}->__toString());
+                $descr = strip_tags($result->{"description"}->__toString());
                 $this->counter++;
                 $this->results[] = new \App\Models\Result(
                     $this->engine,
@@ -43,7 +43,7 @@ class Yacyunih extends Searchengine
                     $link,
                     $anzeigeLink,
                     $descr,
-                    $this->engine->{"display-name"},$this->engine->homepage,
+                    $this->engine->{"display-name"}, $this->engine->homepage,
                     $this->counter
                 );
                 $count++;
diff --git a/app/Models/parserSkripte/Yandex.php b/app/Models/parserSkripte/Yandex.php
index 242171244296159b49c2d79d2ba1b98535ac2b58..9f6e68d3b40cf1426ed69bffb4f81e33e4ccc869 100644
--- a/app/Models/parserSkripte/Yandex.php
+++ b/app/Models/parserSkripte/Yandex.php
@@ -18,7 +18,7 @@ class Yandex extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
@@ -61,7 +61,7 @@ class Yandex extends Searchengine
     {
         $result = preg_replace("/\r\n/si", "", $result);
         try {
-            $content = simplexml_load_string($result);
+            $content = \simplexml_load_string($result);
             if (!$content) {
                 return;
             }
diff --git a/config/nginx-default.conf b/config/nginx-default.conf
index 946abda6eab5ca7a8e36793d2a3b54e6ce8400d6..c61d290a95ede5b12f8c539e18689a46a795aab2 100644
--- a/config/nginx-default.conf
+++ b/config/nginx-default.conf
@@ -14,7 +14,7 @@ server {
     location ~ \.php$ {
         try_files $uri /index.php =404;
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
-        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
+        fastcgi_pass 127.0.0.1:9000;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
diff --git a/docker-compose.yml b/docker-compose.yml
index 12a424fca3b5ece1a22765225c94f933e73fd5b9..f2e6c8b45036c7b098c66c97360aa871dd22516f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -20,7 +20,7 @@ services:
     working_dir: /data
     command: /data/init.sh
   mgdb:
-    restart: unless-stopped
+    restart: on-failure
     image: mariadb:latest
     command: --default-authentication-plugin=mysql_native_password
     environment:
@@ -34,10 +34,14 @@ services:
       - "dependencies"
       - "phpdeps"
       - "assets"
-    restart: unless-stopped
-    build: .
+    restart: on-failure
+    build:
+      context: .
+      dockerfile: Dockerfile.dev
     working_dir: /html
     volumes:
       - .:/html
+      - ./config/nginx.conf:/etc/nginx/nginx.conf
+      - ./config/nginx-default.conf:/etc/nginx/conf.d/default.conf
     ports: 
     - "8080:80"