From e3b02288810742727c671f35fcc4cecdb63aa7df Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 5 Nov 2015 01:23:17 -0500 Subject: [PATCH] Add support for custom environment variables when starting a service container --- README.md | 9 ++++++++- commands | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0f529d2..929a53f 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ dokku plugin:install https://github.com/dokku/dokku-redis.git redis ``` redis:clone Create container then copy data from into redis:connect Connect via redis-cli to a redis service -redis:create Create a redis service +redis:create Create a redis service with environment variables redis:destroy Delete the service and stop its container if there are no links left redis:export > Export a dump of the redis service database redis:expose [port] Expose a redis service on custom port if provided (random port otherwise) @@ -53,6 +53,13 @@ dokku redis:create lolipop # official redis image export REDIS_IMAGE="redis" export REDIS_IMAGE_VERSION="2.8.21" + +# you can also specify custom environment +# variables to start the redis service +# in semi-colon separated forma +export REDIS_CUSTOM_ENV="USER=alpha;HOST=beta" + +# create a redis service dokku redis:create lolipop # get connection information as follows diff --git a/commands b/commands index f35b905..902edcd 100755 --- a/commands +++ b/commands @@ -31,8 +31,13 @@ case "$1" in touch "$LINKS_FILE" dokku_log_info1 "Starting container" + if [[ -n $REDIS_CUSTOM_ENV ]]; then + echo "$REDIS_CUSTOM_ENV" | tr ';' "\n" > "$SERVICE_ROOT/ENV" + else + echo "" > "$SERVICE_ROOT/ENV" + fi SERVICE_NAME=$(get_service_name "$SERVICE") - ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_ROOT/data:/data" -v "$SERVICE_ROOT/config:/usr/local/etc/redis" -d --restart always --label dokku=service --label dokku.service=redis "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION") + ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_ROOT/data:/data" -v "$SERVICE_ROOT/config:/usr/local/etc/redis" --env-file="$SERVICE_ROOT/ENV" -d --restart always --label dokku=service --label dokku.service=redis "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION") echo "$ID" > "$SERVICE_ROOT/ID" dokku_log_verbose_quiet "Waiting for container to be ready"