deployment_files
This commit is contained in:
Executable
+85
@@ -0,0 +1,85 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user