mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-17 09:24:34 +00:00
115 lines
3 KiB
Bash
Executable file
115 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
read -p "How do you want to develop? [(l)ocal / (c)ontainer] " devset
|
|
case $devset in
|
|
[Ll] )
|
|
echo "Going to create postgres and redis containers now. They will log to this terminal."
|
|
echo "Press Ctrl + C to exit."
|
|
sleep 2
|
|
devmode="local-db"
|
|
;;
|
|
[Cc] )
|
|
echo "Going to create a container environment you can work in."
|
|
echo "Simply exit to stop the environment."
|
|
sleep 2
|
|
devmode="local-dev"
|
|
;;
|
|
* )
|
|
echo "Invalid option supplied. Quitting..."
|
|
exit -1
|
|
;;
|
|
esac
|
|
|
|
cp ".config/$devmode.yml" .config/default.yml
|
|
cp .config/docker_ci.env .config/docker.env
|
|
|
|
if [[ "$devmode" == "local-dev" ]]; then
|
|
docker compose -f "./compose.$devmode.yml" up -d
|
|
docker compose -f "./compose.$devmode.yml" exec web apt-get update
|
|
docker compose -f "./compose.$devmode.yml" exec web apt-get install -y bash
|
|
|
|
echo Installing dependencies...
|
|
docker compose -f "./compose.$devmode.yml" exec web apt-get install -y git wget curl build-essential python3 ffmpeg libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
|
|
docker compose -f "./compose.$devmode.yml" exec web corepack enable
|
|
docker compose -f "./compose.$devmode.yml" exec web corepack prepare pnpm@latest --activate
|
|
docker compose -f "./compose.$devmode.yml" exec web git submodule update --init
|
|
docker compose -f "./compose.$devmode.yml" exec web pnpm install --frozen-lockfile
|
|
|
|
read -p "Is this a new database? [y/N] " runinit
|
|
case $runinit in
|
|
[Yy] )
|
|
docker compose -f "./compose.$devmode.yml" exec web pnpm build
|
|
docker compose -f "./compose.$devmode.yml" exec web pnpm migrate
|
|
;;
|
|
* )
|
|
;;
|
|
esac
|
|
|
|
docker compose -f "./compose.$devmode.yml" exec web bash
|
|
|
|
echo Stopping containers...
|
|
docker compose -f "./compose.$devmode.yml" stop
|
|
fi
|
|
|
|
if [[ "$devmode" == "local-db" ]]; then
|
|
read -p "Did you setup corepack and enable pnpm? [Y/n] " getpnpm
|
|
case $getpnpm in
|
|
[Nn] )
|
|
corepack enable
|
|
corepack prepare pnpm@latest --activate
|
|
;;
|
|
* )
|
|
;;
|
|
esac
|
|
|
|
pnpm i
|
|
|
|
read -p "Is this a new database? [y/N] " runinit
|
|
case $runinit in
|
|
[Yy] )
|
|
docker compose -f "./compose.$devmode.yml" up -d
|
|
pnpm build
|
|
pnpm migrate
|
|
docker compose -f "./compose.$devmode.yml" down
|
|
;;
|
|
* )
|
|
;;
|
|
esac
|
|
|
|
docker compose -f "./compose.$devmode.yml" up
|
|
fi
|
|
|
|
read -p "Scrub dev environment? (Deletes containers AND instance!!!) [y/N] " scrubDev
|
|
|
|
case $scrubDev in
|
|
[Yy] )
|
|
if [[ "$devmode" == "local-dev" ]]; then
|
|
docker compose -f "./compose.$devmode.yml" start web
|
|
docker compose -f "./compose.$devmode.yml" exec web pnpm clean-all
|
|
else
|
|
pnpm clean-all
|
|
fi
|
|
docker compose -f "./compose.$devmode.yml" down
|
|
rm -rf ./db -v
|
|
rm -rf ./redis -v
|
|
rm -rf ./files -v
|
|
rm -rf ./node_modules -v #TODO: check if these last two are needed
|
|
rm -rf ./pnpm-store -v
|
|
;;
|
|
* )
|
|
;;
|
|
esac
|
|
|
|
# read -p "Reset databases? [y/N] " cleardb
|
|
# case $cleardb in
|
|
# [Yy] )
|
|
# echo "Clearning postgres..."
|
|
# rm -rf ./db
|
|
# sleep 1
|
|
# echo "Clearing redis..."
|
|
# rm -rf ./redis
|
|
# sleep 1
|
|
# ;;
|
|
# * )
|
|
# ;;
|
|
# esac
|