#!/bin/bash

# Anna Stockroom Deployment Script
# Usage: ./deploy.sh [domain]

set -e

DOMAIN=${1:-"your-domain.com"}
APP_DIR="/var/www/anna-stockroom"

echo "🚀 Starting Anna Stockroom deployment..."
echo "Domain: $DOMAIN"
echo "App Directory: $APP_DIR"

# Create application directory
echo "📁 Creating application directory..."
sudo mkdir -p $APP_DIR
sudo chown -R $USER:$USER $APP_DIR

# Copy files
echo "📋 Copying application files..."
cp -r . $APP_DIR/
cd $APP_DIR

# Install dependencies
echo "📦 Installing dependencies..."
npm install --production

# Create runtime directories
echo "📂 Creating runtime directories..."
mkdir -p logs uploads

# Set permissions
echo "🔐 Setting permissions..."
sudo chown -R www-data:www-data $APP_DIR
sudo chmod -R 755 $APP_DIR
sudo chmod -R 777 $APP_DIR/uploads
sudo chmod -R 777 $APP_DIR/logs

# Setup environment
if [ ! -f .env ]; then
    echo "⚙️ Setting up environment..."
    cp .env.example .env
    echo "Please edit .env file with your configuration"
fi

# Start with PM2
echo "🔄 Starting application with PM2..."
pm2 start ecosystem.config.js
pm2 save
pm2 startup

echo "✅ Deployment completed!"
echo "🌐 Your application should be running on port 3000"
echo "📝 Don't forget to:"
echo "   1. Configure your .env file"
echo "   2. Set up Nginx reverse proxy"
echo "   3. Install SSL certificate"