forked from noxious/server
Added start bash file
This commit is contained in:
parent
8e652f8dcb
commit
7b4674587a
100
start.sh
Normal file
100
start.sh
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
# Function to cleanup on exit
|
||||||
|
cleanup() {
|
||||||
|
log "Shutting down..."
|
||||||
|
stop_server
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Trap Ctrl+C (SIGINT) and other termination signals
|
||||||
|
trap cleanup SIGINT SIGTERM
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Log function for better visibility
|
||||||
|
log() {
|
||||||
|
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to check if node server is running
|
||||||
|
is_server_running() {
|
||||||
|
if pgrep -f "npm run start" > /dev/null; then
|
||||||
|
return 0 # Server is running
|
||||||
|
else
|
||||||
|
return 1 # Server is not running
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to stop the server
|
||||||
|
stop_server() {
|
||||||
|
if is_server_running; then
|
||||||
|
log "Stopping Node server..."
|
||||||
|
pkill -f "npm run start"
|
||||||
|
sleep 2 # Wait for the server to stop
|
||||||
|
|
||||||
|
if is_server_running; then
|
||||||
|
log "ERROR: Failed to stop Node server"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
log "Node server stopped successfully"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "Node server is not running"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to start the server
|
||||||
|
start_server() {
|
||||||
|
if ! is_server_running; then
|
||||||
|
log "Starting Node server..."
|
||||||
|
npm run start &
|
||||||
|
sleep 2 # Wait for the server to start
|
||||||
|
|
||||||
|
if is_server_running; then
|
||||||
|
log "Node server started successfully"
|
||||||
|
else
|
||||||
|
log "ERROR: Failed to start Node server"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "Node server is already running"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to restart the server
|
||||||
|
restart_server() {
|
||||||
|
log "Restarting Node server..."
|
||||||
|
stop_server
|
||||||
|
start_server
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pull updates from main branch
|
||||||
|
log "Pulling updates from main branch..."
|
||||||
|
if ! git pull origin main; then
|
||||||
|
log "ERROR: Failed to pull updates from Git"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
log "Git pull completed successfully"
|
||||||
|
|
||||||
|
# Stop the server
|
||||||
|
stop_server
|
||||||
|
|
||||||
|
# Run database migrations
|
||||||
|
log "Running database migrations..."
|
||||||
|
if ! npx mikro-orm-esm migration:up; then
|
||||||
|
log "ERROR: Failed to run database migrations"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
log "Database migrations completed successfully"
|
||||||
|
|
||||||
|
# Start the server
|
||||||
|
start_server
|
||||||
|
|
||||||
|
# Monitor server and restart if it stops
|
||||||
|
log "Starting server monitoring..."
|
||||||
|
while true; do
|
||||||
|
if ! is_server_running; then
|
||||||
|
log "Server stopped unexpectedly. Restarting..."
|
||||||
|
start_server
|
||||||
|
fi
|
||||||
|
sleep 10 # Check every 10 seconds
|
||||||
|
done
|
Loading…
x
Reference in New Issue
Block a user