Initial Commit
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Data directory for PocketBase
|
||||
DATA_DIR=${PB_DATA_DIR:-/app/pb_data}
|
||||
mkdir -p "$DATA_DIR"
|
||||
|
||||
echo "[hops] Starting PocketBase backend on port 8090..."
|
||||
/app/pocketbase serve --http 0.0.0.0:8090 --dir "$DATA_DIR" &
|
||||
PB_PID=$!
|
||||
|
||||
# Wait for PocketBase to become healthy
|
||||
echo "[hops] Waiting for PocketBase to initialize..."
|
||||
until curl -s http://127.0.0.1:8090/api/health > /dev/null 2>&1; do
|
||||
sleep 0.3
|
||||
done
|
||||
echo "[hops] PocketBase is live and healthy."
|
||||
|
||||
# Upsert admin superuser if configured
|
||||
ADMIN_EMAIL=${PB_ADMIN_EMAIL:-admin@hopsngrains.com}
|
||||
ADMIN_PASSWORD=${PB_ADMIN_PASSWORD:-HopsPassword1234!}
|
||||
|
||||
if [ -n "$ADMIN_EMAIL" ] && [ -n "$ADMIN_PASSWORD" ]; then
|
||||
/app/pocketbase superuser upsert "$ADMIN_EMAIL" "$ADMIN_PASSWORD" --dir "$DATA_DIR" > /dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
# Graceful shutdown handler
|
||||
cleanup() {
|
||||
echo "[hops] Shutting down services..."
|
||||
kill -TERM "$NODE_PID" 2>/dev/null || true
|
||||
kill -TERM "$PB_PID" 2>/dev/null || true
|
||||
wait "$NODE_PID" 2>/dev/null || true
|
||||
wait "$PB_PID" 2>/dev/null || true
|
||||
exit 0
|
||||
}
|
||||
|
||||
trap cleanup SIGTERM SIGINT
|
||||
|
||||
echo "[hops] Starting TanStack Start frontend server on port ${PORT:-3000}..."
|
||||
node /app/frontend/.output/server/index.mjs &
|
||||
NODE_PID=$!
|
||||
|
||||
# Wait for either process to terminate
|
||||
wait -n "$PB_PID" "$NODE_PID"
|
||||
cleanup
|
||||
Reference in New Issue
Block a user