bms-repository/scripts/setup.sh
pfych 0029086b3f
Some checks failed
Build & Lint / build-lint (push) Failing after 2m10s
Deploy / setup (push) Failing after 1m3s
Init
2024-10-12 14:08:09 +11:00

96 lines
3.6 KiB
Bash
Executable File

#!/usr/bin/env bash
CURRENT_DIR="$(pwd -P)"
PARENT_PATH="$(
cd "$(dirname "${BASH_SOURCE[0]}")" || exit
pwd -P
)/.."
cd "$PARENT_PATH" || exit
echo
printf "\033[32m%s\033[39m\n" "Welcome to Baseline"
echo "-------------------"
echo
echo "Lets setup your new application!"
echo
if ! command -v aws &>/dev/null; then
echo "AWS CLI could not be found, please install it before continuing."
echo "You can find instructions here: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html"
exit
fi
printf "Enter the name of your new application (e.g. my-new-app): "
read -r PROJECT_NAME
sed -i '' -e "s|bms-repository|$PROJECT_NAME|g" ./scripts/project-variables.sh >/dev/null 2>&1
sed -i '' -e "s|bms-repository|$PROJECT_NAME|g" ./scripts/setup.sh >/dev/null 2>&1
echo
echo "Awesome, lets set a region where the app will be hosted!"
echo
echo "AWS uses regions to store your app, you can find a list of regions here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions"
echo
echo "Please select a region: "
options=(
"us-east-1 (US East - N. Virginia)"
"us-east-2 (US East - Ohio)"
"us-gov-east-1 (US Gov East)"
"us-gov-west-1 (US Gov West)"
"us-iso-east-1 (US ISO East)"
"us-iso-west-1 (US ISO West)"
"us-isob-east-1 (US ISOB East - Ohio)"
"us-west-1 (US West - N. California)"
"us-west-2 (US West - Oregon)"
"af-south-1 (Africa - Cape Town)"
"ap-east-1 (Asia Pacific - Hong Kong)"
"ap-northeast-1 (Asia Pacific - Tokyo)"
"ap-northeast-2 (Asia Pacific - Seoul)"
"ap-northeast-3 (Asia Pacific - Osaka)"
"ap-south-1 (Asia Pacific - Mumbai)"
"ap-south-2 (Asia Pacific - Hyderabad)"
"ap-southeast-1 (Asia Pacific - Singapore)"
"ap-southeast-2 (Asia Pacific - Sydney)"
"ap-southeast-3 (Asia Pacific - Jakarta)"
"ap-southeast-4 (Asia Pacific - Melbourne)"
"ca-central-1 (Canada - Central)"
"cn-north-1 (China - Beijing)"
"cn-northwest-1 (China - Ningxia)"
"eu-central-1 (Europe - Frankfurt)"
"eu-central-2 (Europe - Zurich)"
"eu-north-1 (Europe - Stockholm)"
"eu-south-1 (Europe - Milan)"
"eu-south-2 (Europe - Spain)"
"eu-west-1 (Europe - Ireland)"
"eu-west-2 (Europe - London)"
"eu-west-3 (Europe - Paris)"
"me-central-1 (Middle East - UAE)"
"me-south-1 (Middle East - Bahrain)"
"sa-east-1 (South America - São Paulo)"
)
APP_REGION=""
select opt in "${options[@]}"; do
# Remove the description by deleting everything from " (" to the end
APP_REGION="${opt%% (*}"
echo "You selected $APP_REGION"
break
done
sed -i '' -e "s|ap-southeast-2|$APP_REGION|g" ./scripts/project-variables.sh >/dev/null 2>&1
echo
echo "Great, lets get started!"
echo "------------------------"
echo "To finish setting up your application you will need to run the following commands:"
echo "- [pnpm run aws:profile] to setup your AWS credentials profile"
echo "- [pnpm run deploy:staging] to deploy api/web/admin"
echo "- [pnpm run add:user:staging] to add an admin user to the application"
echo "- [pnpm run urls:staging] To see your project URLs"
echo
echo "After that you will be able to run it locally! 🎉"
echo "-----------------------------------------------"
echo "1. [pnpm run generate:env:local]" to generate env files for admin and web
echo "2. [pnpm run start:api]"
echo "3. [pnpm run start:admin]"
echo "4. [pnpm run start:web]"
echo
echo "If you have any questions or need help, please reach out to us at https://baselinejs.com"
echo
printf "\033[32m%s\033[39m\n" "Happy coding!"
cd "$CURRENT_DIR" || exit