57 lines
1.4 KiB
Bash
Executable File
57 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# XPEDITIS Backend - Production Runner
|
|
|
|
echo "Starting XPEDITIS Backend in Production Mode..."
|
|
echo "Loading environment variables from .env file..."
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f .env ]; then
|
|
echo "ERROR: .env file not found!"
|
|
echo "Please copy .env.example to .env and configure your production variables:"
|
|
echo " cp .env.example .env"
|
|
echo " # Then edit .env with your production values"
|
|
exit 1
|
|
fi
|
|
|
|
# Load .env file
|
|
set -o allexport
|
|
source .env
|
|
set +o allexport
|
|
|
|
# Override profile for production
|
|
export SPRING_PROFILES_ACTIVE=prod
|
|
|
|
# Validate required production variables
|
|
echo "Validating required production environment variables..."
|
|
|
|
REQUIRED_VARS=(
|
|
"SPRING_DATASOURCE_URL"
|
|
"SPRING_DATASOURCE_USERNAME"
|
|
"SPRING_DATASOURCE_PASSWORD"
|
|
"JWT_SECRET_KEY"
|
|
"GOOGLE_CLIENT_ID"
|
|
"GOOGLE_CLIENT_SECRET"
|
|
"SPRING_MAIL_PASSWORD_PROD"
|
|
)
|
|
|
|
MISSING_VARS=()
|
|
for var in "${REQUIRED_VARS[@]}"; do
|
|
if [ -z "${!var}" ]; then
|
|
MISSING_VARS+=($var)
|
|
fi
|
|
done
|
|
|
|
if [ ${#MISSING_VARS[@]} -ne 0 ]; then
|
|
echo "ERROR: Missing required production environment variables:"
|
|
printf " - %s\n" "${MISSING_VARS[@]}"
|
|
echo ""
|
|
echo "Please update your .env file with production values."
|
|
exit 1
|
|
fi
|
|
|
|
echo "All required production variables are set"
|
|
echo "Starting application with profile: prod"
|
|
|
|
# Start the application in production mode
|
|
./mvnw spring-boot:run -Dspring-boot.run.profiles=prod |