Files
pi-ku/scripts/start.sh
T
2026-04-23 17:31:52 +05:30

45 lines
884 B
Bash
Executable File

#!/bin/bash
# Change this if you're using docker or docker-compose
CONTAINER_BIN="podman"
cleanup() {
echo 'Stopping dev containers and processes...'
$CONTAINER_BIN compose -p pi_ku down --remove-orphans
[ -n "${BACKEND_PID:-}" ] && kill "$BACKEND_PID" 2>/dev/null
[ -n "${FRONTEND_PID:-}" ] && kill "$FRONTEND_PID" 2>/dev/null
}
# source .env
set -a
source .env
set +a
trap cleanup EXIT
trap 'exit 130' INT
trap 'exit 143' TERM
echo "$PWD"
$CONTAINER_BIN compose -p pi_ku up -d
# wait for db to be ready
DB_CONTAINER=$($CONTAINER_BIN ps -q --filter label=com.docker.compose.service=db)
until $CONTAINER_BIN exec "$DB_CONTAINER" pg_isready -U $DB_USER; do
echo "Waiting for DB $DB_CONTAINER to be ready... $DB_USER"
sleep 1
done
(
cd backend || exit 1
uv run manage.py serve
) &
BACKEND_PID=$!
(
cd frontend || exit 1
bun run dev
) &
FRONTEND_PID=$!
wait