#!/bin/bash # ============================================================= # ERPNext Site Setup Script # Run this ONCE after first docker compose up # Usage: docker exec -it didi-erpnext bash /home/frappe/setup-site.sh # ============================================================= set -e SITE_NAME="${SITE_NAME:-didi.localhost}" ADMIN_PASSWORD="${ADMIN_PASSWORD:-admin}" DB_ROOT_PASSWORD="${MYSQL_ROOT_PASSWORD:?seteaza MYSQL_ROOT_PASSWORD in .env}" DB_HOST="mariadb" echo "============================================" echo " ERPNext Site Setup - DiDi" echo "============================================" echo "" echo "Site: $SITE_NAME" echo "DB Host: $DB_HOST" echo "" # Wait for MariaDB to be ready echo "[1/4] Waiting for MariaDB..." for i in $(seq 1 30); do if mysql -h "$DB_HOST" -u root -p"$DB_ROOT_PASSWORD" -e "SELECT 1" &>/dev/null; then echo " MariaDB is ready!" break fi echo " Waiting... ($i/30)" sleep 2 done # Create new site echo "[2/4] Creating site: $SITE_NAME" bench new-site "$SITE_NAME" \ --mariadb-root-password "$DB_ROOT_PASSWORD" \ --admin-password "$ADMIN_PASSWORD" \ --db-host "$DB_HOST" \ --no-mariadb-socket # Install ERPNext echo "[3/4] Installing ERPNext app on site..." bench --site "$SITE_NAME" install-app erpnext # Set as default site echo "[4/4] Setting as default site..." bench use "$SITE_NAME" echo "" echo "============================================" echo " Setup Complete!" echo "============================================" echo "" echo " URL: http://localhost:8080" echo " User: Administrator" echo " Password: $ADMIN_PASSWORD" echo "" echo "============================================"