83 lines
2.1 KiB
Bash
Executable File
83 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to add Omada environment variables to existing .env file
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
ENV_FILE="$PROJECT_ROOT/.env"
|
|
ENV_EXAMPLE="$PROJECT_ROOT/env.example"
|
|
|
|
if [ ! -f "$ENV_FILE" ]; then
|
|
echo "❌ .env file not found. Creating from template..."
|
|
cp "$ENV_EXAMPLE" "$ENV_FILE"
|
|
echo "✅ Created .env file. Please edit it with your credentials."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Adding Omada environment variables to existing .env file..."
|
|
|
|
# Check if variables already exist
|
|
OMADA_VARS=(
|
|
"OMADA_USERNAME"
|
|
"OMADA_PASSWORD"
|
|
"OMADA_ID"
|
|
"OMADA_CONTROLLER_BASE"
|
|
"OMADA_NORTHBOUND_BASE"
|
|
"DATABASE_URL"
|
|
"JWT_SECRET"
|
|
"PORT"
|
|
"NODE_ENV"
|
|
"LOG_LEVEL"
|
|
"SYNC_JOB_SCHEDULE"
|
|
"LICENSE_JOB_SCHEDULE"
|
|
)
|
|
|
|
# Read existing .env and check what's missing
|
|
MISSING_VARS=()
|
|
for var in "${OMADA_VARS[@]}"; do
|
|
if ! grep -q "^${var}=" "$ENV_FILE" 2>/dev/null; then
|
|
MISSING_VARS+=("$var")
|
|
fi
|
|
done
|
|
|
|
if [ ${#MISSING_VARS[@]} -eq 0 ]; then
|
|
echo "✅ All Omada environment variables are already present in .env"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Found ${#MISSING_VARS[@]} missing variable(s): ${MISSING_VARS[*]}"
|
|
echo ""
|
|
|
|
# Append missing variables from template
|
|
echo "" >> "$ENV_FILE"
|
|
echo "# ============================================" >> "$ENV_FILE"
|
|
echo "# Omada Cloud Integration Variables" >> "$ENV_FILE"
|
|
echo "# ============================================" >> "$ENV_FILE"
|
|
|
|
# Extract and add missing variables from env.example
|
|
while IFS= read -r line; do
|
|
# Skip comments and empty lines
|
|
[[ "$line" =~ ^[[:space:]]*# ]] && continue
|
|
[[ -z "${line// }" ]] && continue
|
|
|
|
# Extract variable name
|
|
var_name=$(echo "$line" | cut -d'=' -f1)
|
|
|
|
# Check if this variable is missing
|
|
if [[ " ${MISSING_VARS[@]} " =~ " ${var_name} " ]]; then
|
|
echo "$line" >> "$ENV_FILE"
|
|
fi
|
|
done < "$ENV_EXAMPLE"
|
|
|
|
echo "✅ Added missing Omada environment variables to .env"
|
|
echo ""
|
|
echo "📝 Please edit .env and fill in the actual values for:"
|
|
for var in "${MISSING_VARS[@]}"; do
|
|
echo " - $var"
|
|
done
|
|
echo ""
|
|
|