83 lines
3.5 KiB
Bash
Executable File
83 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Auto-start script for Church Music System Development Mode
|
|
# Ensures all features work with hot-reload
|
|
|
|
set -e
|
|
|
|
PROJECT_DIR="/media/pts/Website/Church_HOP_MusicData"
|
|
BACKEND_DIR="$PROJECT_DIR/backend"
|
|
FRONTEND_DIR="$PROJECT_DIR/frontend"
|
|
|
|
# WARNING: Check if production services are running
|
|
echo "╔════════════════════════════════════════════════════════════════╗"
|
|
echo "║ Church Music System - Development Mode ║"
|
|
echo "╚════════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# Check if systemd services are running
|
|
if systemctl is-active --quiet church-music-backend.service; then
|
|
echo "⚠️ WARNING: Production backend service is running!"
|
|
echo " This will cause port conflicts (port 8080)"
|
|
echo ""
|
|
read -p " Stop production services and continue? [y/N] " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
sudo systemctl stop church-music-backend.service
|
|
sudo systemctl stop church-music-frontend.service
|
|
echo "✓ Production services stopped"
|
|
else
|
|
echo "❌ Cancelled. Stop services manually or use production mode."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Check for existing dev processes
|
|
if [ -f /tmp/church-backend.pid ]; then
|
|
OLD_PID=$(cat /tmp/church-backend.pid)
|
|
if ps -p $OLD_PID > /dev/null 2>&1; then
|
|
echo "⚠️ Killing old backend process (PID: $OLD_PID)"
|
|
kill -9 $OLD_PID 2>/dev/null || true
|
|
fi
|
|
rm /tmp/church-backend.pid
|
|
fi
|
|
|
|
if [ -f /tmp/church-frontend.pid ]; then
|
|
OLD_PID=$(cat /tmp/church-frontend.pid)
|
|
if ps -p $OLD_PID > /dev/null 2>&1; then
|
|
echo "⚠️ Killing old frontend process (PID: $OLD_PID)"
|
|
kill -9 $OLD_PID 2>/dev/null || true
|
|
fi
|
|
rm /tmp/church-frontend.pid
|
|
fi
|
|
|
|
# Start backend
|
|
echo ""
|
|
echo "Starting backend in development mode..."
|
|
cd $BACKEND_DIR
|
|
source venv/bin/activate
|
|
python app.py > /tmp/church-backend.log 2>&1 &
|
|
echo $! > /tmp/church-backend.pid
|
|
echo "✓ Backend started (PID: $(cat /tmp/church-backend.pid))"
|
|
|
|
# Wait for backend
|
|
sleep 3
|
|
|
|
# Start frontend on port 5100
|
|
echo "Starting frontend in development mode..."
|
|
cd $FRONTEND_DIR
|
|
PORT=5100 npm start > /tmp/church-frontend.log 2>&1 &
|
|
echo $! > /tmp/church-frontend.pid
|
|
echo "✓ Frontend started (PID: $(cat /tmp/church-frontend.pid))"
|
|
|
|
echo ""
|
|
echo "╔════════════════════════════════════════════════════════════════╗"
|
|
echo "║ ✅ Church Music System running in DEVELOPMENT mode ║"
|
|
echo "║ ║"
|
|
echo "║ Frontend: http://localhost:5100 ║"
|
|
echo "║ Backend: http://localhost:8080 ║"
|
|
echo "║ ║"
|
|
echo "║ To stop: ./stop-dev-mode.sh ║"
|
|
echo "║ View logs: tail -f /tmp/church-*.log ║"
|
|
echo "╚════════════════════════════════════════════════════════════════╝"
|
|
echo ""
|