auth/setup-server.sh

68 lines
1.8 KiB
Bash

#!/bin/bash
# Quick Setup Script for AWS Lightsail Ubuntu Server
# Run this script on your Lightsail server after initial SSH connection
# Usage: bash setup-server.sh
set -e
echo "🚀 Starting Farm Auth Service Server Setup..."
# Update system
echo "📦 Updating system packages..."
sudo apt update && sudo apt upgrade -y
# Install Node.js
echo "📦 Installing Node.js..."
if ! command -v node &> /dev/null; then
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
else
echo "✅ Node.js already installed: $(node --version)"
fi
# Install Nginx
echo "📦 Installing Nginx..."
if ! command -v nginx &> /dev/null; then
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
else
echo "✅ Nginx already installed"
fi
# Install PM2
echo "📦 Installing PM2..."
if ! command -v pm2 &> /dev/null; then
sudo npm install -g pm2
else
echo "✅ PM2 already installed: $(pm2 --version)"
fi
# Install Git
echo "📦 Installing Git..."
sudo apt install -y git
# Install Certbot
echo "📦 Installing Certbot..."
sudo apt install -y certbot python3-certbot-nginx
# Create application directory
echo "📁 Creating application directory..."
mkdir -p ~/apps
cd ~/apps
# Create logs directory
echo "📁 Creating logs directory..."
mkdir -p ~/apps/farm-auth-service/logs
echo "✅ Server setup completed!"
echo ""
echo "Next steps:"
echo "1. Clone your repository: cd ~/apps && git clone <your-repo-url> farm-auth-service"
echo "2. Install dependencies: cd farm-auth-service && npm install --production"
echo "3. Configure .env file: cp example.env .env && nano .env"
echo "4. Configure Nginx (see DEPLOYMENT_GUIDE.md)"
echo "5. Set up SSL: sudo certbot --nginx -d auth.livingai.app"
echo "6. Start application: pm2 start ecosystem.config.js"