From fd44ee48f4dbd67a1f86a6a3fe7c7c986b87443a Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sun, 12 May 2024 16:28:44 +0200 Subject: [PATCH] fix: rdb files can not be saved because of permission issues bug: redis can not save RDB files #318 (#472) * fix: rdb files can not be saved because of permission issues bug: redis can not save RDB files #318 * refactor: move db and redis dumps to /appdata directory --- Dockerfile | 7 ++++++- packages/redis/redis.conf | 5 +++++ scripts/run.sh | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 packages/redis/redis.conf diff --git a/Dockerfile b/Dockerfile index 2c4afb4fe..968065720 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,10 +52,14 @@ FROM base AS runner WORKDIR /app RUN apk add --no-cache redis +RUN mkdir /appdata +RUN mkdir /appdata/db +RUN mkdir /appdata/redis # Don't run production as root RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs +RUN chown -R nextjs:nodejs /appdata USER nextjs COPY --from=installer /app/apps/nextjs/next.config.mjs . @@ -73,8 +77,9 @@ COPY --from=installer --chown=nextjs:nodejs /app/apps/nextjs/.next/standalone ./ COPY --from=installer --chown=nextjs:nodejs /app/apps/nextjs/.next/static ./apps/nextjs/.next/static COPY --from=installer --chown=nextjs:nodejs /app/apps/nextjs/public ./apps/nextjs/public COPY --chown=nextjs:nodejs scripts/run.sh ./run.sh +COPY --chown=nextjs:nodejs packages/redis/redis.conf /app/redis.conf -ENV DB_URL='/app/db/db.sqlite' +ENV DB_URL='/appdata/db/db.sqlite' ENV DB_DIALECT='sqlite' ENV DB_DRIVER='better-sqlite3' diff --git a/packages/redis/redis.conf b/packages/redis/redis.conf new file mode 100644 index 000000000..309ef5d80 --- /dev/null +++ b/packages/redis/redis.conf @@ -0,0 +1,5 @@ +# Directory to store dump.rdb +dir /appdata/redis + +# Save the data to disk every 60 seconds if at least 1 key changed +save 60 1 \ No newline at end of file diff --git a/scripts/run.sh b/scripts/run.sh index bc1e428bb..931b434b1 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -2,7 +2,7 @@ node ./db/migrations/$DB_DIALECT/migrate.cjs ./db/migrations/$DB_DIALECT # Start Redis -redis-server & +redis-server /app/redis.conf & # Run the tasks backend node apps/tasks/tasks.cjs &