From 6b2a890dda95c2e45aa2e3df474949da1870ebf6 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Fri, 7 Feb 2020 17:55:30 -0800 Subject: [PATCH] fix(redis): Adding env vars for connecting --- docker/mainnet/Dockerfile | 3 +++ docker/mainnet/docker-compose.yml | 9 +++++++-- docker/mainnet/start-local-mainnet.sh | 4 ++++ src/middleware/route-ratelimit.js | 6 +++++- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docker/mainnet/Dockerfile b/docker/mainnet/Dockerfile index 936092d..43c7e45 100644 --- a/docker/mainnet/Dockerfile +++ b/docker/mainnet/Dockerfile @@ -11,6 +11,9 @@ USER safeuser # Prep 'sudo' commands. #RUN echo 'abcd8765' | sudo -S pwd +# Install Redis. TODO: Make this a separate container. + + # Clone the repository WORKDIR /home/safeuser RUN git clone https://github.com/christroutner/bch-api diff --git a/docker/mainnet/docker-compose.yml b/docker/mainnet/docker-compose.yml index c3dad5d..66b0a6c 100644 --- a/docker/mainnet/docker-compose.yml +++ b/docker/mainnet/docker-compose.yml @@ -3,8 +3,13 @@ bch-api: dockerfile: Dockerfile #image: bitcore container_name: bch-api-main - #links: - # - mongodb + links: + - redis ports: - "12400:3000" restart: always + +redis: + image: redis:latest + container_name: redis-bch-api-main + restart: always diff --git a/docker/mainnet/start-local-mainnet.sh b/docker/mainnet/start-local-mainnet.sh index 6ceae1e..e96afe4 100755 --- a/docker/mainnet/start-local-mainnet.sh +++ b/docker/mainnet/start-local-mainnet.sh @@ -17,4 +17,8 @@ export NODE_TLS_REJECT_UNAUTHORIZED=0 export JWT_AUTH_SERVER=http://localhost:5001/ +# Redis DB +export REDIS_PORT=6379 +export REDIS_HOST=172.17.0.1 + npm start diff --git a/src/middleware/route-ratelimit.js b/src/middleware/route-ratelimit.js index 725c9f6..af524d5 100644 --- a/src/middleware/route-ratelimit.js +++ b/src/middleware/route-ratelimit.js @@ -12,7 +12,11 @@ const keyEncoder = new KeyEncoder("secp256k1") // Redis const Redis = require("ioredis") -const redisClient = new Redis({ enableOfflineQueue: false }) +const redisClient = new Redis({ + enableOfflineQueue: false, + port: process.env.REDIS_PORT ? process.env.REDIS_PORT : 6379, + host: process.env.REDIS_HOST ? process.env.REDIS_HOST : "127.0.0.1" +}) // Rate limiter middleware lib. const { RateLimiterRedis } = require("rate-limiter-flexible")