83 lines
2.2 KiB
Bash
Executable File
83 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Placebo.mk Setup Script
|
|
# This script sets up the development environment
|
|
|
|
set -e
|
|
|
|
echo "🚀 Setting up Placebo.mk development environment..."
|
|
|
|
# Check if Docker is installed
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker is not installed. Please install Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if Docker Compose is installed
|
|
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
|
echo "❌ Docker Compose is not installed. Please install Docker Compose."
|
|
exit 1
|
|
fi
|
|
|
|
# Check Node.js version
|
|
if ! command -v node &> /dev/null; then
|
|
echo "⚠️ Node.js is not installed. Local mode won't work, but Docker mode will."
|
|
fi
|
|
|
|
# Create necessary directories
|
|
echo "📁 Creating directories..."
|
|
mkdir -p scripts
|
|
mkdir -p backend/uploads
|
|
mkdir -p cms/cms/public/uploads
|
|
|
|
# Set up environment files
|
|
echo "⚙️ Setting up environment files..."
|
|
|
|
# Backend
|
|
if [ ! -f backend/.env ]; then
|
|
echo "Creating backend/.env from template..."
|
|
cp backend/.env.docker.template backend/.env
|
|
fi
|
|
|
|
if [ ! -f backend/.env.local ]; then
|
|
echo "Creating backend/.env.local from template..."
|
|
cp backend/.env.local.template backend/.env.local
|
|
fi
|
|
|
|
# Frontend
|
|
if [ ! -f frontend/.env ]; then
|
|
echo "Creating frontend/.env from template..."
|
|
cp frontend/.env.docker.template frontend/.env
|
|
fi
|
|
|
|
if [ ! -f frontend/.env.local ]; then
|
|
echo "Creating frontend/.env.local from template..."
|
|
cp frontend/.env.local.template frontend/.env.local
|
|
fi
|
|
|
|
# Install root dependencies
|
|
echo "📦 Installing root dependencies..."
|
|
if command -v npm &> /dev/null; then
|
|
npm install
|
|
else
|
|
echo "⚠️ npm not found, skipping root dependencies"
|
|
fi
|
|
|
|
# Build Docker images
|
|
echo "🐳 Building Docker images..."
|
|
if docker compose version &> /dev/null; then
|
|
docker compose -f docker-compose.dev.yml build
|
|
else
|
|
docker-compose -f docker-compose.dev.yml build
|
|
fi
|
|
|
|
echo ""
|
|
echo "✅ Setup complete!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Start in Docker mode: npm run docker:up"
|
|
echo "2. Or start in local mode:"
|
|
echo " - First terminal: docker-compose -f docker-compose.dev.yml up postgres"
|
|
echo " - Second terminal: npm run dev:local"
|
|
echo ""
|
|
echo "For more details, see README-DEVELOPMENT.md" |