chore: setup core configurations and bootstrap

This commit is contained in:
2026-05-21 16:05:08 +07:00
commit 37b7e783f5
47 changed files with 25106 additions and 0 deletions
Executable
+64
View File
@@ -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}"