From 325b730942a44f3a3b6e8c500ed0f445d90ee4e3 Mon Sep 17 00:00:00 2001 From: Evann Regnault Date: Sun, 27 Nov 2022 02:13:57 +0100 Subject: [PATCH] Docker + Updated Redis --- .dockerignore | 3 +++ .idea/.gitignore | 8 -------- Dockerfile | 15 +++++++++++++++ package.json | 6 +++--- pages/api/characters/index.js | 1 + utils/redis.js | 8 +++++--- 6 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 .dockerignore delete mode 100644 .idea/.gitignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a3f31b8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.next/ +node_modules/ +.idea/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d55c85e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:alpine + +ENV API_PORT=3000 +ENV ENABLE_REDIS=true +ENV REDIS_HOST=localhost +ENV REDIS_PORT=6379 + +WORKDIR /app + +COPY . . + +RUN npm install +RUN npm run build + +ENTRYPOINT ["npm","run","start"] \ No newline at end of file diff --git a/package.json b/package.json index f01644c..dc730bb 100644 --- a/package.json +++ b/package.json @@ -3,15 +3,15 @@ "scripts": { "dev": "next", "build": "next build", - "start": "next start" + "start": "next start -p $API_PORT" }, "dependencies": { "dayjs": "^1.10.7", - "next": "latest", + "next": "^12.3.4", "react": "^17.0.2", "react-dom": "^17.0.2", "swr": "^1.0.1", - "redis": "^4.0.1", + "redis": "^4.5.1", "dotenv": "^10.0.0", "fast-levenshtein": "^3.0.0" } diff --git a/pages/api/characters/index.js b/pages/api/characters/index.js index c39f489..01481b7 100644 --- a/pages/api/characters/index.js +++ b/pages/api/characters/index.js @@ -5,6 +5,7 @@ export default async function handler(req, res) { let characters = JSON.parse(await getResultFromRedis('character-all')); if (!characters){ characters = await getCharacters(); + console.log(characters) addResultToRedis('character-all', JSON.stringify(characters)).catch(console.error) } if (characters) { diff --git a/utils/redis.js b/utils/redis.js index 37a8bcc..2839fd6 100644 --- a/utils/redis.js +++ b/utils/redis.js @@ -1,7 +1,9 @@ -const ENABLE_REDIS = true; +const ENABLE_REDIS = process.env["ENABLE_REDIS"]; const redis = require("redis"); -const client = ENABLE_REDIS ? redis.createClient("redis://localhost:6379") : null; -client?.connect(); +const client = redis.createClient({ + url: `redis://${process.env['REDIS_HOST']}:${process.env["REDIS_PORT"]}` +}); +if (ENABLE_REDIS) (client.connect().then(_ =>{console.info("Connected to redis")})); export async function getResultFromRedis(key){