placebo.mk/scripts/setup.sh
2026-02-03 17:45:38 +01:00

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"