#!/bin/bash # Trading Bot Startup Script with Process Cleanup # This script initializes the process cleanup handlers and starts the Next.js app echo "๐Ÿš€ Starting Trading Bot with Process Cleanup..." # Initialize process cleanup echo "๐Ÿงน Initializing process cleanup handlers..." # Create a signal handler to cleanup on container stop cleanup() { echo "๐Ÿ›‘ Received shutdown signal, cleaning up..." # Kill any remaining chromium processes pkill -f "chromium" 2>/dev/null || true # Clean up temporary files rm -rf /tmp/puppeteer_dev_chrome_profile-* 2>/dev/null || true echo "โœ… Cleanup completed" exit 0 } # Register signal handlers trap cleanup SIGINT SIGTERM SIGQUIT # Start the Next.js application echo "๐Ÿš€ Starting Next.js application..." if [ "$NODE_ENV" = "development" ]; then echo "๐Ÿ”„ Pre-compiling TypeScript modules for faster execution..." timeout 30 npm run precompile || echo "โš ๏ธ Pre-compilation timeout, proceeding..." echo "โœ… Starting development server..." exec npm run dev:docker else exec npm start fi