Files

85 lines
2.3 KiB
Bash
Raw Permalink Normal View History

2026-09-17 04:11:07 +00:00
#!/bin/bash
set -e
echo "========================================"
echo " Starting Combined Application Container"
echo " Flutter APK + Backend + MySQL"
echo "========================================"
# ========================================
# Project-specific DB name
# Fill this in per project so each combined
# container keeps its own isolated local DB
# and never collides with another project.
# ========================================
DB_NAME="<PRJ_DB_NAME>"
# ========================================
# Start MySQL
# ========================================
echo "Starting MySQL..."
service mysql start
echo "Waiting for MySQL..."
until mysqladmin ping -h "127.0.0.1" --silent; do
echo "MySQL is not ready yet..."
sleep 2
done
echo "MySQL Started Successfully."
echo "Setting MySQL root password..."
mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@1234';" 2>/dev/null || \
mysqladmin -u root password 'Root@1234' 2>/dev/null || \
echo "Root password already set or using socket auth, continuing..."
# ========================================
# Initialize Database
# ========================================
if [ -f "/usr/local/bin/init-db.sh" ]; then
echo "========================================"
echo " Initializing Database"
echo "========================================"
chmod +x /usr/local/bin/init-db.sh
DB_NAME="${DB_NAME}" /usr/local/bin/init-db.sh
echo "Database Initialization Completed."
else
echo "init-db.sh not found."
echo "Skipping database initialization."
fi
# ========================================
# Force Backend to use local combined-container MySQL
# (overrides application.properties datasource without
# touching the template file, so standalone/multi-container
# builds remain unaffected)
# ========================================
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/${DB_NAME}?createDatabaseIfNotExist=true"
export SPRING_DATASOURCE_USERNAME="root"
export SPRING_DATASOURCE_PASSWORD="Root@1234"
# ========================================
# Start Supervisor
# ========================================
echo "========================================"
echo " Starting Supervisor"
echo "========================================"
exec /usr/bin/supervisord \
-n \
-c /etc/supervisor/conf.d/supervisord.conf