chore: improve development startup reliability

This commit is contained in:
ramvignesh-b
2026-04-23 17:31:52 +05:30
parent e2ad5cef75
commit 6552783d64
2 changed files with 43 additions and 5 deletions
-2
View File
@@ -2,7 +2,6 @@ services:
db:
# postgres database
image: postgres:16-alpine
container_name: piku_db
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
@@ -16,7 +15,6 @@ services:
mailpit:
# email testing
image: axllent/mailpit
container_name: piku_mail
ports:
- "8025:8025" # Web UI
- "${EMAIL_PORT}:1025" # SMTP
+43 -3
View File
@@ -1,4 +1,44 @@
#!/bin/bash
(podman compose up -d) &
(cd backend && uv run manage.py serve) &
(cd frontend && bun run dev)
# 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