diff --git a/setup.sh b/setup.sh index 275ebf2..3f37f97 100755 --- a/setup.sh +++ b/setup.sh @@ -2,20 +2,44 @@ # env setup script for step-ca docker compose # 2023-01-06 by dede & dany -echo "step-ca docker compose setup" -echo "> env setup for step-ca with docker compose..." +# variables setup +PROJECT_NAME=step-ca +#COMPOSE_DOWNLOAD_URL= + +# starting the setup +echo "$PROJECT_NAME docker compose setup" +echo "> env setup for $PROJECT_NAME with docker compose" + +# check for existing compose file to not break an existing setup +if [ -n "$COMPOSE_DOWNLOAD_URL" ]; then + if [[ -f "docker-compose.yml" ]]; then + echo "> docker-compose.yml file already exists. setup will not run" + exit 1 + else + echo "> downloading docker-compose.yml file from $COMPOSE_DOWNLOAD_URL" + wget -O docker-compose.yml "$COMPOSE_DOWNLOAD_URL" + fi +fi # check for existing .env file to not break an existing setup if [[ -f .env ]]; then echo "> .env file already exists. setup will not run. either rename or delete it first." - exit 1 + echo -n "do you want to continue anyway and create a new .env file? [y/N]: " + read -r continue + if [[ $continue =~ ^([yY])$ ]]; then + mv ".env" ".env_backup" + echo "> saved existing .env file to .env_backup" + else + exit 1 + fi elif [[ ! -f env.sample ]]; then echo "> env.sample file is missing. cannot run." exit 2 fi # create .env file -echo -e "# file generated by ${0##*/} on $(date +"%F %H:%M") by $USER\n" > .env +echo -e "# env file for $PROJECT_NAME compose project" > .env +echo -e "# generated by ${0##*/} on $(date +"%F %H:%M") by $USER\n" >> .env # step through the list of lines and ask for each key to use default value or set value # for each line in configfile