diff --git a/lib/Commands/Compile.php b/lib/Commands/Compile.php
index 15e29732c9fce248198d128733a6c8bab902967c..2dad46e30be2059ecd432d16adcda9c9de6b2417 100644
--- a/lib/Commands/Compile.php
+++ b/lib/Commands/Compile.php
@@ -129,7 +129,7 @@ final class Compile extends Command
         $creator = new DockerComposeConfiguration('studip-dockerized');
 
         $creator->hook('services', function (array $service): array {
-            $service['restart'] = 'unless-stopped';
+            $service['restart'] = $service['restart'] ?? 'unless-stopped';
             return $service;
         });
 
@@ -236,9 +236,17 @@ final class Compile extends Command
         }
 
         // Other needed images
-        $creator->addService('memcached-server', 'memcached:latest');
+        $creator->addService('memcached-server', 'memcached:latest', [
+            'container_name' => 'memcached',
+        ]);
 
-        $creator->addService('redis-server', 'redis:latest');
+        $creator->addService('redis-server', 'redis:latest', [
+            'container_name' => 'redis',
+            'restart'        => 'always',
+            'ports'          => ['6379:6379'],
+            'volumes'        => ['cache-data:/data'],
+        ]);
+        $creator->addVolume('cache-data');
 
         return $creator->dump();
     }