diff --git a/build/redis/Dockerfile b/build/redis/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..7635902153fa1947984d7bb543a9ee508b198c81
--- /dev/null
+++ b/build/redis/Dockerfile
@@ -0,0 +1,4 @@
+FROM redis:7
+
+COPY redis.conf /usr/local/etc/redis/redis.conf
+CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
\ No newline at end of file
diff --git a/build/redis/redis.conf b/build/redis/redis.conf
new file mode 100644
index 0000000000000000000000000000000000000000..0eca06b1f1b729db4d1b18bc9df372e521a7f71c
--- /dev/null
+++ b/build/redis/redis.conf
@@ -0,0 +1,12 @@
+# 5GB Storage for now
+maxmemory 5368709120
+# Redis is used as persistent storage here: No eviction
+maxmemory-policy noeviction
+
+# Use Appendonly for persistence
+# Disable regular snapshots: using AOF
+save ""
+appendonly yes
+appendfsync always
+auto-aof-rewrite-percentage 100
+auto-aof-rewrite-min-size 128mb
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index ea678c8eb8b6b782c9b46f3b6e9fa068f93ef4be..c163b658bda658df8b72cc01a51699e9e8d992e3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,6 +2,7 @@ version: '3'
 
 volumes:
   nodecache: {}
+  redisdata: {}
 
 services:
   express:
@@ -16,4 +17,8 @@ services:
     ports:
       - 8080:3000
   redis:
-    image: redis:7
+    build:
+      context: ./build/redis
+    volumes:
+      - redisdata:/data
+    restart: unless-stopped