From 50f980ce03b54cc4c9af8d06b6599e8f1260cccd Mon Sep 17 00:00:00 2001 From: Matt Colyer Date: Mon, 2 Nov 2015 21:03:38 -0800 Subject: [PATCH] Switch to POSTGRES_DOCKER_ARGS variable Previously extra command line arguments were passed after the command, based on the discussion in https://github.com/dokku/dokku-postgres/pull/40, it was agreed that using a single environment variable was more clear. --- README.md | 3 ++- commands | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2efc1c4..014f503 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres ``` postgres:clone Create container then copy data from into postgres:connect Connect via psql to a postgres service -postgres:create Create a postgres service with environment variables +postgres:create Create a postgres service with environment variables postgres:destroy Delete the service and stop its container if there are no links left postgres:export Export a dump of the postgres service database postgres:expose [port] Expose a postgres service on custom port if provided (random port otherwise) @@ -52,6 +52,7 @@ dokku postgres:create lolipop # official postgres image export POSTGRES_IMAGE="postgres" export POSTGRES_IMAGE_VERSION="9.4.4" +export POSTGRES_DOCKER_ARGS="USER=alpha;HOST=beta" dokku postgres:create lolipop # get connection information as follows diff --git a/commands b/commands index 5cd51ac..230d7bd 100755 --- a/commands +++ b/commands @@ -31,12 +31,13 @@ case "$1" in touch "$LINKS_FILE" dokku_log_info1 "Starting container" - ENVIRONMENT="" - for arg in "${@:2}"; do - ENVIRONMENT="$ENVIRONMENT -e $arg" - done + if [ -n $POSTGRES_DOCKER_ARGS ]; then + echo "$(echo $POSTGRES_DOCKER_ARGS | tr ',' "\n")" > "$SERVICE_ROOT/ENVIRONMENT" + else + echo "" > "$SERVICE_ROOT/ENVIRONMENT" + fi SERVICE_NAME=$(get_service_name "$SERVICE") - ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_ROOT/data:/var/lib/postgresql/data" $ENVIRONMENT -e "POSTGRES_PASSWORD=$password" -d --restart always --label dokku=service --label dokku.service=postgres "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION") + ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_ROOT/data:/var/lib/postgresql/data" --env-file="$SERVICE_ROOT/ENVIRONMENT" -e "POSTGRES_PASSWORD=$password" -d --restart always --label dokku=service --label dokku.service=postgres "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION") echo "$ID" > "$SERVICE_ROOT/ID" dokku_log_verbose_quiet "Waiting for container to be ready"