From 75123c10aa1fc3ab8b5a3377a4b2085abbf9d1de Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@suma-ev.de>
Date: Mon, 14 Nov 2022 10:06:41 +0100
Subject: [PATCH] using a persistent redis image

---
 build/redis/Dockerfile |  4 ++++
 build/redis/redis.conf | 12 ++++++++++++
 docker-compose.yml     |  7 ++++++-
 3 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 build/redis/Dockerfile
 create mode 100644 build/redis/redis.conf

diff --git a/build/redis/Dockerfile b/build/redis/Dockerfile
new file mode 100644
index 0000000..7635902
--- /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 0000000..0eca06b
--- /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 ea678c8..c163b65 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
-- 
GitLab