Files
Church-Music/legacy-site/scripts/shell/start-dev-mode.sh

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 ""