chore: setup core configurations and bootstrap
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- Colors for Output ---
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}==============================================${NC}"
|
||||
echo -e "${GREEN} Laravel Project Auto-Installer ${NC}"
|
||||
echo -e "${BLUE}==============================================${NC}"
|
||||
|
||||
# 1. Copy .env if not exists
|
||||
if [ ! -f .env ]; then
|
||||
echo -e "${BLUE}[1/7] Creating .env file from .env.example...${NC}"
|
||||
cp .env.example .env
|
||||
fi
|
||||
|
||||
# 2. Check for vendor folder (if empty, run temporary composer container)
|
||||
if [ ! -d "vendor" ]; then
|
||||
echo -e "${BLUE}[2/7] Vendor folder missing. Installing dependencies via Docker...${NC}"
|
||||
docker run --rm \
|
||||
-u "$(id -u):$(id -g)" \
|
||||
-v "$(pwd):/var/www/html" \
|
||||
-w /var/www/html \
|
||||
laravelsail/php83-composer:latest \
|
||||
composer install --ignore-platform-reqs
|
||||
else
|
||||
echo -e "${GREEN}[2/7] Vendor folder exists. Skipping composer install.${NC}"
|
||||
fi
|
||||
|
||||
# 3. Start Docker Containers
|
||||
echo -e "${BLUE}[3/7] Booting up Docker containers (Sail)...${NC}"
|
||||
./vendor/bin/sail up -d
|
||||
|
||||
# Wait for database to be ready
|
||||
echo -e "${BLUE}Waiting for database healthcheck...${NC}"
|
||||
sleep 10
|
||||
|
||||
# 4. Generating Application Key
|
||||
echo -e "${BLUE}[4/7] Securing Application...${NC}"
|
||||
./vendor/bin/sail artisan key:generate
|
||||
|
||||
# 5. Running Migrations & Seeders
|
||||
echo -e "${BLUE}[5/7] Preparing Database (Migration & Seeding)...${NC}"
|
||||
./vendor/bin/sail artisan migrate:fresh --seed
|
||||
|
||||
# 6. Creating Storage Link & NPM
|
||||
echo -e "${BLUE}[6/7] Connecting Storage & Installing NPM...${NC}"
|
||||
chmod +x artisan
|
||||
chmod +x sail
|
||||
./vendor/bin/sail artisan storage:link
|
||||
./vendor/bin/sail npm install
|
||||
./vendor/bin/sail npm run build
|
||||
|
||||
# 7. Finalizing
|
||||
echo -e "${BLUE}[7/7] Launching application...${NC}"
|
||||
./vendor/bin/sail artisan up
|
||||
|
||||
echo -e "${BLUE}==============================================${NC}"
|
||||
echo -e "${GREEN} SUCCESS! Application is ready to use. ${NC}"
|
||||
echo -e " URL: http://localhost:8888 ${NC}"
|
||||
echo -e " Monitoring: http://localhost:8888/system-monitoring ${NC}"
|
||||
echo -e "${BLUE}==============================================${NC}"
|
||||
Reference in New Issue
Block a user