mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 21:55:09 +00:00
86 lines
2.5 KiB
Bash
Executable file
86 lines
2.5 KiB
Bash
Executable file
#!/bin/bash
|
|
# Script to create a new Frappe site with Academy apps
|
|
|
|
set -e
|
|
|
|
# Check if site name is provided
|
|
if [ -z "$1" ]; then
|
|
echo "❌ Usage: $0 <site-name>"
|
|
echo "Example: $0 academy.example.com"
|
|
exit 1
|
|
fi
|
|
|
|
SITE_NAME=$1
|
|
|
|
echo "🌐 Creating new site: $SITE_NAME"
|
|
|
|
# Load environment variables
|
|
if [ -f .env ]; then
|
|
export $(cat .env | grep -E '^[A-Z_][A-Z0-9_]*=' | sed 's/#.*$//' | xargs)
|
|
else
|
|
echo "❌ .env file not found. Please create it from .env.example"
|
|
exit 1
|
|
fi
|
|
|
|
# Create the site
|
|
echo "📦 Creating Frappe site..."
|
|
docker compose exec -T backend bench new-site \
|
|
--no-mariadb-socket \
|
|
--admin-password="$ADMIN_PASSWORD" \
|
|
--db-root-password="$MARIADB_ROOT_PASSWORD" \
|
|
"$SITE_NAME"
|
|
|
|
# Install AI Tutor Chat
|
|
echo "📦 Installing AI Tutor Chat..."
|
|
docker compose exec -T backend bench --site "$SITE_NAME" install-app ai_tutor_chat
|
|
|
|
# Install LMS
|
|
echo "📦 Installing Academy LMS..."
|
|
docker compose exec -T backend bench --site "$SITE_NAME" install-app lms
|
|
|
|
# Download Payments App (if needed)
|
|
if docker compose exec -T backend test -d apps/payments; then
|
|
echo "✅ Payments App already downloaded"
|
|
else
|
|
echo "📦 Downloading Payments App..."
|
|
docker compose exec -T backend bench get-app payments
|
|
fi
|
|
|
|
# Ensure Payments is installed into the Python environment (editable install)
|
|
echo "🐍 Installing Payments Python package into venv..."
|
|
docker compose exec -T backend bash -lc 'cd /home/frappe/frappe-bench && pip install -e apps/payments && python -c "import payments;"'
|
|
|
|
# Install Payments App
|
|
echo "📦 Installing Payments App..."
|
|
docker compose exec -T backend bench --site "$SITE_NAME" install-app payments
|
|
|
|
# Set as default site (optional)
|
|
SET_DEFAULT_SITE_FLAG="${2:-n}"
|
|
echo
|
|
if [[ $SET_DEFAULT_SITE_FLAG =~ ^[Yy]$ ]]; then
|
|
docker compose exec -T backend bench use "$SITE_NAME"
|
|
echo "✅ Set as default site"
|
|
fi
|
|
|
|
# Clear cache
|
|
echo "🧹 Clearing cache..."
|
|
docker compose exec -T backend bench --site "$SITE_NAME" clear-cache
|
|
|
|
# Run migrations
|
|
echo "🔄 Running migrations..."
|
|
docker compose exec -T backend bench --site "$SITE_NAME" migrate
|
|
|
|
# Restarting backend
|
|
docker compose restart backend
|
|
|
|
echo "✅ Site created successfully!"
|
|
echo ""
|
|
echo "📋 Site details:"
|
|
echo "URL: http://$SITE_NAME"
|
|
echo "Username: Administrator"
|
|
echo "Password: $ADMIN_PASSWORD"
|
|
echo ""
|
|
echo "🔐 Remember to:"
|
|
echo "1. Update your DNS to point to the server IP"
|
|
echo "2. Configure SSL certificate for production"
|
|
echo "3. Update nginx configuration if needed"
|