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>
This commit is contained in:
Executable
+15
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")/.."
|
||||||
|
|
||||||
|
echo "Restarting Planarchy..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Stop
|
||||||
|
bash scripts/stop.sh
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Start
|
||||||
|
bash scripts/start.sh
|
||||||
Executable
+51
@@ -0,0 +1,51 @@
|
|||||||
|
#!/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
|
||||||
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")/.."
|
||||||
|
|
||||||
|
echo "Stopping Planarchy..."
|
||||||
|
|
||||||
|
# 1. Stop Next.js dev server
|
||||||
|
if [ -f /tmp/planarchy-dev.pid ]; then
|
||||||
|
PID=$(cat /tmp/planarchy-dev.pid)
|
||||||
|
if kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo " Stopping Next.js (PID $PID)..."
|
||||||
|
kill "$PID" 2>/dev/null || true
|
||||||
|
sleep 1
|
||||||
|
kill -9 "$PID" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
rm -f /tmp/planarchy-dev.pid
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Also kill anything on port 3100
|
||||||
|
fuser -k 3100/tcp 2>/dev/null || true
|
||||||
|
|
||||||
|
# 2. Stop Docker services (keep data volumes)
|
||||||
|
echo " Stopping PostgreSQL + Redis..."
|
||||||
|
docker compose stop postgres redis 2>/dev/null || true
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Planarchy stopped."
|
||||||
Reference in New Issue
Block a user