mirror of
https://github.com/BillyOutlast/UNIT3D-Docker.git
synced 2026-02-04 03:01:20 +01:00
73 lines
2.2 KiB
Bash
73 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
if [[ "$1" == "setup" ]]; then
|
|
echo "Updating DNF packages..."
|
|
sudo dnf -y update
|
|
echo "Setting up UNIT3D..."
|
|
sudo chown -R mysql:mysql /var/lib/mysql
|
|
sudo chmod -R 750 /var/lib/mysql
|
|
sudo chage -E -1 mysql
|
|
echo "Initializing MariaDB system tables if necessary..."
|
|
if [ ! -d "/var/lib/mysql/mysql" ]; then
|
|
su -s /bin/bash mysql -c "mysql_install_db --basedir=/usr --datadir=/var/lib/mysql"
|
|
fi
|
|
echo "Setting correct permissions for MariaDB data directory..."
|
|
su -s /bin/bash mysql -c "mysqld &"
|
|
redis-server --daemonize yes
|
|
php-fpm &
|
|
|
|
# Wait for MariaDB to be ready
|
|
until mysqladmin ping -h "localhost" --silent; do
|
|
echo "Waiting for MariaDB to be available..."
|
|
sleep 2
|
|
done
|
|
python3 /database-setup.py
|
|
|
|
sudo chown -R unit3d:unit3d /var/www/html /home/unit3d/
|
|
su -s /bin/bash unit3d -c "/setup.sh"
|
|
fi
|
|
if [[ "$1" == "debug" ]]; then
|
|
echo "Debug mode: keeping container running..."
|
|
tail -f /dev/null
|
|
fi
|
|
|
|
|
|
if [[ "$1" == "backup-mysql" ]]; then
|
|
BACKUP_DIR="/backup"
|
|
BACKUP_FILE="$BACKUP_DIR/mysql-$(date +%Y%m%d-%H%M%S).sql"
|
|
mkdir -p "$BACKUP_DIR"
|
|
echo "Backing up MySQL database to $BACKUP_FILE..."
|
|
mysqldump --all-databases --single-transaction --quick --lock-tables=false -u root > "$BACKUP_FILE"
|
|
if [[ $? -eq 0 ]]; then
|
|
echo "Backup completed successfully."
|
|
else
|
|
echo "Backup failed."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [[ -z "$1" ]]; then
|
|
echo "Updating DNF packages..."
|
|
sudo dnf -y update
|
|
pecl channel-update pecl.php.net
|
|
pecl upgrade-all
|
|
echo "Starting MySQL..."
|
|
sudo chown -R mysql:mysql /var/lib/mysql
|
|
sudo chmod -R 750 /var/lib/mysql
|
|
sudo chage -E -1 mysql
|
|
# Ensure correct ownership for /var/www/html
|
|
sudo chown -R unit3d:unit3d /var/www/html
|
|
su -s /bin/bash mysql -c "mysqld &"
|
|
# Wait for MariaDB to be ready
|
|
until mysqladmin ping -h "localhost" --silent; do
|
|
echo "Waiting for MariaDB to be available..."
|
|
sleep 2
|
|
done
|
|
echo "Starting Redis..."
|
|
redis-server --daemonize yes
|
|
echo "Starting PHP-FPM..."
|
|
php-fpm &
|
|
echo "Starting PHP Artisan server..."
|
|
su -s /bin/bash unit3d -c "/run.sh"
|
|
|
|
fi |