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 &