Files
UNIT3D-Docker/entrypoint.sh
2025-08-28 18:54:35 -04:00

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