@@ -15,7 +15,21 @@ if [ "${LOG_FILE}" == "" ]; then
1515 touch ${LOG_FILE}
1616fi
1717
18- CONFIG=${HOME_DIR} /config.json
18+
19+ if [ -f " ${HOME_DIR} /config.toml" ]; then
20+ python3 -c " with open('${HOME_DIR} /config.toml') as ct, open('${HOME_DIR} /config.json', 'w') as cj: import toml; import json; json.dump(list(toml.load(ct).values()), cj)"
21+ elif [ -f " ${HOME_DIR} /config.yml" ]; then
22+ python3 -c " with open('${HOME_DIR} /config.yml') as cy, open('${HOME_DIR} /config.json', 'w') as cj: import yaml; import json; json.dump(list(yaml.safe_load(cy).values()), cj)"
23+ elif [ -f " ${HOME_DIR} /config.yaml" ]; then
24+ python3 -c " with open('${HOME_DIR} /config.yaml') as cy, open('${HOME_DIR} /config.json', 'w') as cj: import yaml; import json; json.dump(list(yaml.safe_load(cy).values()), cj)"
25+ fi
26+
27+ if [ -f " ${HOME_DIR} /config.json" ]; then
28+ CONFIG=${HOME_DIR} /config.json
29+ else
30+ echo " NO CONFIG FILE FOUND"
31+ fi
32+
1933DOCKER_SOCK=/var/run/docker.sock
2034CRONTAB_FILE=/etc/crontabs/docker
2135
@@ -49,7 +63,22 @@ slugify() {
4963
5064make_image_cmd () {
5165 DOCKERARGS=$( echo ${1} | jq -r .dockerargs)
66+ VOLUMES=$( echo ${1} | jq -r ' .volumes | map(" -v " + .) | join("")' )
67+ PORTS=$( echo ${1} | jq -r ' .ports | map(" -p " + .) | join("")' )
68+ EXPOSE=$( echo ${1} | jq -r ' .expose | map(" --expose " + .) | join("")' )
69+ # We'll add name in, if it exists
70+ NAME=$( echo ${1} | jq -r ' select(.name != null) | .name' )
71+ NETWORK=$( echo ${1} | jq -r ' select(.network != null) | .network' )
72+ ENVIRONMENT=$( echo ${1} | jq -r ' .environment | map(" -e " + .) | join("")' )
73+ # echo ${1} | jq -r '.environment | join("\n")' > ${PWD}/${NAME}.env
74+ # ENVIRONMENT=" --env-file ${PWD}/${NAME}.env"
5275 if [ " ${DOCKERARGS} " == " null" ]; then DOCKERARGS=; fi
76+ if [ ! -z " ${NAME} " ]; then DOCKERARGS=" ${DOCKERARGS} --rm --name ${NAME} " ; fi
77+ if [ ! -z " ${NETWORK} " ]; then DOCKERARGS=" ${DOCKERARGS} --network ${NETWORK} " ; fi
78+ if [ ! -z " ${VOLUMES} " ]; then DOCKERARGS=" ${DOCKERARGS}${VOLUMES} " ; fi
79+ if [ ! -z " ${ENVIRONMENT} " ]; then DOCKERARGS=" ${DOCKERARGS}${ENVIRONMENT} " ; fi
80+ if [ ! -z " ${PORTS} " ]; then DOCKERARGS=" ${DOCKERARGS}${PORTS} " ; fi
81+ if [ ! -z " ${EXPOSE} " ]; then DOCKERARGS=" ${DOCKERARGS}${EXPOSE} " ; fi
5382 IMAGE=$( echo ${1} | jq -r .image | envsubst)
5483 TMP_COMMAND=$( echo ${1} | jq -r .command)
5584 echo " docker run ${DOCKERARGS} ${IMAGE} ${TMP_COMMAND} "
@@ -80,6 +109,7 @@ for CONTAINER_NAME in \$CONTAINERS; do
80109done
81110EOF
82111 echo " /bin/bash ${HOME_DIR} /projects/${SCRIPT_NAME} .sh"
112+ # cat "/bin/bash ${HOME_DIR}/projects/${SCRIPT_NAME}.sh"
83113 else
84114 echo " docker exec ${DOCKERARGS} ${CONTAINER} ${TMP_COMMAND} "
85115 fi
@@ -236,7 +266,7 @@ if [ "$1" = "crond" ]; then
236266 if [ -f ${CONFIG} ]; then
237267 build_crontab
238268 else
239- echo " Unable to find ${HOME_DIR} /config.json "
269+ echo " Unable to find ${CONFIG} "
240270 fi
241271fi
242272
0 commit comments