backend/run-prod.sh
2025-09-01 15:58:08 +02:00

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