From 71661b4971a6d5b4a8305381cd5a268cef0e607c Mon Sep 17 00:00:00 2001
From: Sergey Shambir <sergey.shambir@ispringsolutions.com>
Date: Sat, 2 Mar 2019 11:26:21 +0300
Subject: [PATCH] Added support for envsubst in image/container name Envsubst
 allows to use dynamic container name We use image name env substitution with
 docker-compose and .env to select right image tag for local development
 Within alpine, envsubst installed with gettext package.

---
 Dockerfile        | 2 +-
 docker-entrypoint | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index aa574b6..a7260e4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
 FROM library/docker:stable
 
 ENV HOME_DIR=/opt/crontab
-RUN apk add --no-cache --virtual .run-deps bash jq \
+RUN apk add --no-cache --virtual .run-deps gettext bash jq \
     && mkdir -p ${HOME_DIR}/jobs ${HOME_DIR}/projects \
     && adduser -S docker -D
 
diff --git a/docker-entrypoint b/docker-entrypoint
index 0f40c90..d0b80f4 100755
--- a/docker-entrypoint
+++ b/docker-entrypoint
@@ -12,7 +12,7 @@ if [ "${LOG_FILE}" == "" ]; then
     LOG_DIR=/var/log/crontab
 	LOG_FILE=${LOG_DIR}/jobs.log
 	mkdir -p ${LOG_DIR}
-	touch ${LOG_FILE}
+    touch ${LOG_FILE}
 fi
 
 CONFIG=${HOME_DIR}/config.json
@@ -40,7 +40,7 @@ slugify() {
 make_image_cmd() {
     DOCKERARGS=$(echo ${1} | jq -r .dockerargs)
     if [ "${DOCKERARGS}" == "null" ]; then DOCKERARGS=; fi
-    IMAGE=$(echo ${1} | jq -r .image)
+    IMAGE=$(echo ${1} | jq -r .image | envsubst)
     TMP_COMMAND=$(echo ${1} | jq -r .command)
     echo "docker run ${DOCKERARGS} ${IMAGE} ${TMP_COMMAND}"
 }
@@ -50,7 +50,7 @@ make_container_cmd() {
     if [ "${DOCKERARGS}" == "null" ]; then DOCKERARGS=; fi
     SCRIPT_NAME=$(echo ${1} | jq -r .name)
     PROJECT=$(echo ${1} | jq -r .project)
-    CONTAINER=$(echo ${1} | jq -r .container)
+    CONTAINER=$(echo ${1} | jq -r .container | envsubst)
     TMP_COMMAND=$(echo ${1} | jq -r .command)
 
     if [ "${PROJECT}" != "null" ]; then