2025-05-29 11:23:06 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
2025-06-02 10:17:50 +08:00
|
|
|
cd /var/www/html
|
2025-05-29 11:23:06 +08:00
|
|
|
|
2025-05-29 16:07:55 +08:00
|
|
|
APP_URL="${APP_URL%/}"
|
2025-05-29 11:23:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Running composer install..."
|
2025-05-29 11:23:06 +08:00
|
|
|
composer install --no-interaction --prefer-dist
|
|
|
|
|
|
|
|
if [ ! -f ".env" ]; then
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Copying .env.example to .env"
|
2025-05-29 11:23:06 +08:00
|
|
|
cp .env.example .env
|
|
|
|
fi
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Updating .env configurations..."
|
2025-05-29 11:23:06 +08:00
|
|
|
|
|
|
|
update_env_var() {
|
|
|
|
local key=$1
|
|
|
|
local value=$2
|
|
|
|
grep -q "^${key}=" .env && \
|
|
|
|
sed -i "s|^${key}=.*|${key}=${value}|" .env || \
|
|
|
|
echo "${key}=${value}" >> .env
|
|
|
|
}
|
|
|
|
|
2025-06-02 10:17:50 +08:00
|
|
|
update_env_var "APP_NAME" "$APP_NAME"
|
2025-05-29 16:07:55 +08:00
|
|
|
update_env_var "APP_URL" "$APP_URL"
|
2025-05-29 16:57:17 +08:00
|
|
|
update_env_var "DB_HOST" "$DB_HOST"
|
|
|
|
update_env_var "DB_PORT" "$DB_PORT"
|
2025-05-29 11:23:06 +08:00
|
|
|
update_env_var "DB_DATABASE" "$DB_DATABASE"
|
|
|
|
update_env_var "DB_USERNAME" "$DB_USERNAME"
|
|
|
|
update_env_var "DB_PASSWORD" "$DB_PASSWORD"
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Generating Laravel app key..."
|
2025-05-29 11:23:06 +08:00
|
|
|
php artisan key:generate
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Running migrations..."
|
2025-05-29 11:23:06 +08:00
|
|
|
php artisan migrate --force
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Installing npm packages..."
|
2025-05-29 11:23:06 +08:00
|
|
|
[ ! -d "node_modules" ] && npm install
|
|
|
|
|
2025-05-29 14:13:53 +08:00
|
|
|
echo "Building front-end assets..."
|
2025-05-29 11:23:06 +08:00
|
|
|
npm run build
|
|
|
|
|
2025-06-02 11:55:42 +08:00
|
|
|
echo "Setting permissions for storage and bootstrap/cache..."
|
|
|
|
chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache
|
|
|
|
chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
|
|
|
|
|
2025-06-02 10:17:50 +08:00
|
|
|
exec "$@"
|