missed deploy

This commit is contained in:
Thomas Faour 2025-06-21 23:30:43 -04:00
parent e59d1d90b3
commit b6aded5281

156
deploy.sh Normal file
View File

@ -0,0 +1,156 @@
#!/bin/bash
# Orbital Simulator Docker Deployment Script
set -e
echo "🚀 Orbital Simulator Docker Deployment"
echo "======================================"
# Check if Docker is installed
if ! command -v docker &> /dev/null; then
echo "❌ Docker is not installed. Please install Docker first."
exit 1
fi
# Check if Docker Compose is available
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
echo "❌ Docker Compose is not installed. Please install Docker Compose first."
exit 1
fi
# Function to use docker-compose or docker compose
docker_compose() {
if command -v docker-compose &> /dev/null; then
docker-compose "$@"
else
docker compose "$@"
fi
}
# Parse command line arguments
MODE="development"
ACTION="up"
BUILD="--build"
while [[ $# -gt 0 ]]; do
case $1 in
--production)
MODE="production"
shift
;;
--dev|--development)
MODE="development"
shift
;;
--down)
ACTION="down"
BUILD=""
shift
;;
--logs)
ACTION="logs"
BUILD=""
shift
;;
--no-build)
BUILD=""
shift
;;
--help)
echo "Usage: $0 [OPTIONS]"
echo ""
echo "Options:"
echo " --production Deploy in production mode with Nginx"
echo " --dev Deploy in development mode (default)"
echo " --down Stop and remove containers"
echo " --logs Show container logs"
echo " --no-build Skip building images"
echo " --help Show this help message"
echo ""
echo "Examples:"
echo " $0 # Start in development mode"
echo " $0 --production # Start in production mode"
echo " $0 --down # Stop all containers"
echo " $0 --logs # View logs"
exit 0
;;
*)
echo "Unknown option: $1"
echo "Use --help for usage information"
exit 1
;;
esac
done
echo "Mode: $MODE"
echo "Action: $ACTION"
# Handle different actions
case $ACTION in
"up")
echo "🔧 Starting Orbital Simulator..."
if [ "$MODE" = "production" ]; then
echo "🌐 Production mode: Starting with Nginx reverse proxy"
docker_compose --profile production $ACTION $BUILD -d
echo ""
echo "✅ Orbital Simulator is running in production mode!"
echo "🌐 Web Interface: http://localhost"
echo "📊 Direct API: http://localhost:3000"
else
echo "🛠️ Development mode: Starting without reverse proxy"
docker_compose $ACTION $BUILD
echo ""
echo "✅ Orbital Simulator is running in development mode!"
echo "🌐 Web Interface: http://localhost:3000"
fi
echo ""
echo "📋 Useful commands:"
echo " View logs: $0 --logs"
echo " Stop: $0 --down"
echo " Health check: docker ps"
;;
"down")
echo "🛑 Stopping Orbital Simulator..."
if [ "$MODE" = "production" ]; then
docker_compose --profile production down
else
docker_compose down
fi
echo "✅ All containers stopped and removed."
;;
"logs")
echo "📄 Showing container logs..."
if [ "$MODE" = "production" ]; then
docker_compose --profile production logs -f
else
docker_compose logs -f
fi
;;
esac
# Health check function
check_health() {
echo "🏥 Checking health..."
# Wait a moment for containers to start
sleep 5
# Check if API is responding
if curl -f http://localhost:3000/api/configs &> /dev/null; then
echo "✅ API is healthy"
else
echo "⚠️ API health check failed"
echo "🔍 Try: docker ps"
echo "🔍 Try: $0 --logs"
fi
}
# Only run health check for 'up' action
if [ "$ACTION" = "up" ]; then
check_health
fi