Files
CapaKraken/scripts/start.sh
T
Hartmut 1f079d0309 chore: add start/stop/restart scripts for Planarchy
- scripts/start.sh: docker compose up, prisma generate, clear .next cache,
  start Next.js, wait for health check, show status
- scripts/stop.sh: kill Next.js by PID + fuser, docker compose stop
- scripts/restart.sh: stop then start

Usage:
  ./scripts/start.sh    # Start everything
  ./scripts/stop.sh     # Stop everything
  ./scripts/restart.sh  # Full restart

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-23 08:35:15 +01:00

52 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
echo "Starting Planarchy..."
# 1. Start Docker services
echo " Starting PostgreSQL + Redis..."
docker compose up -d postgres redis
sleep 2
# 2. Wait for PostgreSQL to be healthy
echo " Waiting for PostgreSQL..."
for i in {1..30}; do
if docker exec planarchy-postgres-1 pg_isready -U planarchy -q 2>/dev/null; then
break
fi
sleep 1
done
# 3. Regenerate Prisma client
echo " Generating Prisma client..."
pnpm --filter @planarchy/db exec prisma generate --no-hints 2>/dev/null
# 4. Clear stale Next.js cache
rm -rf apps/web/.next
# 5. Start Next.js dev server
echo " Starting Next.js on port 3100..."
nohup pnpm --filter @planarchy/web dev > /tmp/planarchy-dev.log 2>&1 &
echo $! > /tmp/planarchy-dev.pid
# 6. Wait for server to be ready
echo " Waiting for server..."
for i in {1..30}; do
if curl -sf http://localhost:3100/api/health > /dev/null 2>&1; then
echo ""
echo "Planarchy is running!"
curl -s http://localhost:3100/api/ready | python3 -m json.tool 2>/dev/null || curl -s http://localhost:3100/api/ready
echo ""
echo " URL: http://localhost:3100"
echo " Logs: tail -f /tmp/planarchy-dev.log"
echo " PID: $(cat /tmp/planarchy-dev.pid)"
exit 0
fi
sleep 1
done
echo "ERROR: Server failed to start within 30 seconds"
echo "Check logs: tail -50 /tmp/planarchy-dev.log"
exit 1