64 lines
2.3 KiB
Bash
64 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
# check that our repository path is correct
|
|
[ -e "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/" ] || {
|
|
echo "[error] The path ${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/ does not exist, first run setup."
|
|
exit 1
|
|
}
|
|
# check that our projects path is correct
|
|
[ -e "${VDM_PROJECT_PATH}" ] || {
|
|
echo "[error] Projects path (${VDM_PROJECT_PATH}) does not exist."
|
|
exit 1
|
|
}
|
|
|
|
# get container available selection
|
|
function getContainerAvailable() {
|
|
# some house cleaning
|
|
PS3_old=$PS3
|
|
# some defaults
|
|
export PS3="Please select container to enable: "
|
|
# Start our little Menu
|
|
select menu in $(ls "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/"); do
|
|
case $REPLY in
|
|
*)
|
|
SELECTED="$menu"
|
|
;;
|
|
esac
|
|
break
|
|
done
|
|
# restore the default
|
|
export PS3=$PS3_old
|
|
# return selection
|
|
echo "$SELECTED"
|
|
}
|
|
|
|
# set the container
|
|
CONTAINER="${1:-$CONTAINER}"
|
|
# check that we have what we need
|
|
# shellcheck disable=SC2015
|
|
[ ${#CONTAINER} -ge 1 ] && [ -d "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/${CONTAINER}" ] || {
|
|
CONTAINER=$(getContainerAvailable)
|
|
# make sure value was entered
|
|
[ ${#CONTAINER} -ge 1 ] && [ -d "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/${CONTAINER}" ] || exit
|
|
}
|
|
|
|
# create the folder as needed
|
|
mkdir -p "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/"
|
|
|
|
# create the soft link
|
|
[ -e "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}" ] || ln -s "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/available/${CONTAINER}" "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}"
|
|
# check if image has its own env file also
|
|
ENV_FILE=''
|
|
# shellcheck disable=SC2015
|
|
[ -f "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}/.env" ] && ENV_FILE="${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}/.env" || {
|
|
[ -f "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/.env" ] && ENV_FILE="${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/.env"
|
|
}
|
|
|
|
# make sure the docker image is started
|
|
# shellcheck disable=SC2015
|
|
[ ${#ENV_FILE} -ge 1 ] && docker-compose --env-file "${ENV_FILE}" --file "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}/docker-compose.yml" up -d || {
|
|
docker-compose --file "${VDM_REPO_PATH}/${VDM_CONTAINER_TYPE}/enabled/${CONTAINER}/docker-compose.yml" up -d
|
|
}
|
|
# show env path used
|
|
echo "[notice] EVN PATH: ${ENV_FILE}"
|