diff --git a/README.md b/README.md index e8cc1fa..754ac0a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,10 @@ module.exports = { // Server to run redis on. servers: { one: {} }, // Version of redis. Add '-alpine' to use a much smaller docker image - version: '3.2.10-alpine' + version: '3.2.10-alpine', + + host: '127.0.0.1', // external redis host (optional) (default: 127.0.0.1) + port: 6379, // external redis port (optional) (default: 6379) } } ``` diff --git a/assets/redis-start.sh b/assets/redis-start.sh index bc9ba50..2b13d74 100644 --- a/assets/redis-start.sh +++ b/assets/redis-start.sh @@ -2,6 +2,8 @@ REDIS_VERSION=<%= redisVersion %> REDIS_DIR=<%= redisDir %> +REDIS_HOST=<%= redisHost %> +REDIS_PORT=<%= redisPort %> set -e sudo docker pull redis:$REDIS_VERSION @@ -18,7 +20,7 @@ echo "Starting redis:$REDIS_VERSION" sudo docker run \ -d \ --restart=always \ - --publish=127.0.0.1:6379:6379 \ + --publish=$REDIS_HOST:$REDIS_PORT:6379 \ --volume $REDIS_DIR/data:/data \ --name=redis \ redis:$REDIS_VERSION \ diff --git a/command-handlers.js b/command-handlers.js index 2eac578..130ed28 100644 --- a/command-handlers.js +++ b/command-handlers.js @@ -29,6 +29,8 @@ module.exports = { script: api.resolvePath(__dirname, 'assets/redis-setup.sh'), vars: { redisVersion: redisConfig.version || '3.2.10-alpine', + redisHost: redisConfig.host || '127.0.0.1', + redisPort: redisConfig.port || '6379', redisDir: '/opt/redis' } }); @@ -53,6 +55,8 @@ module.exports = { script: api.resolvePath(__dirname, 'assets/redis-start.sh'), vars: { redisVersion: config.version || '3.2.10-alpine', + redisHost: config.host || '127.0.0.1', + redisPort: config.port || '6379', redisDir: '/opt/redis' } }); diff --git a/validate.js b/validate.js index 119423c..0386777 100644 --- a/validate.js +++ b/validate.js @@ -2,6 +2,8 @@ var joi = require('joi'); var schema = joi.object().keys({ version: joi.string(), + host: joi.string().optional(), + port: joi.string().optional(), servers: joi.object().keys().required() });