T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/scripts/create-deployment-package.sh
#!/bin/bash

# Create Deployment Package Script for lavocat.quebec
# This script creates a zip file with all necessary deployment files

set -e  # Exit on any error

echo "📦 Creating deployment package for lavocat.quebec..."

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Configuration
PACKAGE_NAME="lavocat-quebec-deployment-$(date +%Y%m%d-%H%M%S).zip"
TEMP_DIR="deployment-temp"

# Function to print colored output
print_status() {
    echo -e "${BLUE}[INFO]${NC} $1"
}

print_success() {
    echo -e "${GREEN}[SUCCESS]${NC} $1"
}

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

# Clean up any existing temp directory
if [ -d "$TEMP_DIR" ]; then
    rm -rf "$TEMP_DIR"
fi

# Create temp directory
mkdir -p "$TEMP_DIR"

print_status "Creating deployment package..."

# Copy essential files
print_status "Copying project files..."

# Core application files
cp -r src/ "$TEMP_DIR/"
cp -r public/ "$TEMP_DIR/"
cp -r prisma/ "$TEMP_DIR/"
cp -r scripts/ "$TEMP_DIR/"

# Configuration files
cp package.json "$TEMP_DIR/"
cp package-lock.json "$TEMP_DIR/"
cp next.config.js "$TEMP_DIR/"
cp next.config.production.js "$TEMP_DIR/"
cp .env.production "$TEMP_DIR/"
cp server-production.js "$TEMP_DIR/"

# Documentation
cp DEPLOYMENT_CHECKLIST.md "$TEMP_DIR/"
cp README.md "$TEMP_DIR/" 2>/dev/null || echo "# Lavocat Quebec Deployment" > "$TEMP_DIR/README.md"

# Create deployment instructions
cat > "$TEMP_DIR/DEPLOYMENT_INSTRUCTIONS.md" <<EOF
# 🚀 Lavocat Quebec Deployment Instructions

## 📋 Pre-Deployment Checklist

### ✅ Server Requirements
- [ ] Node.js v20.19.4+ installed
- [ ] MySQL database created: gositeme_avocat
- [ ] DirectAdmin domain configured: lavocat.quebec
- [ ] SSL certificates configured via DirectAdmin

### ✅ Database Setup
Database already created:
- Hostname: localhost
- Database: gositeme_avocat
- Username: gositeme_avocat
- Password: TDZEMAwNvFznSKQeDkjY

## 🚀 Deployment Steps

### 1. Upload Files
Upload all files to: \`/home/gositeme/domains/lavocat.quebec/public_html/\`

### 2. SSH into Server
\`\`\`bash
ssh gositeme@your-server.com
cd /home/gositeme/domains/lavocat.quebec/public_html/
\`\`\`

### 3. Deploy Application
\`\`\`bash
# Make script executable
chmod +x scripts/deploy-directadmin.sh

# Deploy
npm run deploy:production
\`\`\`

### 4. Verify Deployment
\`\`\`bash
# Check if service is running
ps aux | grep server-production.js

# View logs
tail -f /home/gositeme/logs/lavocat-quebec/combined.log
\`\`\`

## 📋 Management Commands

### Application Management
\`\`\`bash
# Start application
./start-production.sh

# Stop application
./stop-production.sh

# Restart application
./restart-production.sh

# View logs
tail -f /home/gositeme/logs/lavocat-quebec/combined.log
\`\`\`

### Database Management
\`\`\`bash
# Backup database
npm run backup:database

# Backup with compression
npm run backup:database:compressed

# Connect to database
mysql -u gositeme_avocat -pTDZEMAwNvFznSKQeDkjY gositeme_avocat
\`\`\`

### Log Management
\`\`\`bash
# Rotate logs
./rotate-logs.sh

# View error logs
tail -f /home/gositeme/logs/lavocat-quebec/err.log
\`\`\`

## 🔧 Troubleshooting

### Common Issues
1. **Service won't start**: Check logs in \`/home/gositeme/logs/lavocat-quebec/\`
2. **Database connection errors**: Verify MySQL credentials in \`.env.production\`
3. **Port conflicts**: Ensure ports 3000 and 3443 are available
4. **Permission issues**: Make sure files are owned by gositeme user

### Log Locations
- Application logs: \`/home/gositeme/logs/lavocat-quebec/\`
- Apache logs: Check DirectAdmin logs
- Database logs: MySQL error log

## 📞 Support
- Domain: lavocat.quebec
- Database: gositeme_avocat
- User: gositeme
- Deployment path: /home/gositeme/domains/lavocat.quebec/public_html/
EOF

# Create a quick setup script
cat > "$TEMP_DIR/quick-setup.sh" <<EOF
#!/bin/bash
echo "🚀 Quick Setup for Lavocat Quebec"
echo "=================================="

# Check if we're in the right directory
if [ ! -f "package.json" ]; then
    echo "❌ Error: package.json not found. Make sure you're in the project directory."
    exit 1
fi

# Make scripts executable
chmod +x scripts/*.sh
chmod +x *.sh

# Install dependencies
echo "📦 Installing dependencies..."
npm ci --only=production

# Generate Prisma client
echo "🔧 Generating Prisma client..."
npx prisma generate

# Run migrations
echo "🗄️ Running database migrations..."
npx prisma migrate deploy

# Build application
echo "🏗️ Building application..."
npm run build:production

# Deploy
echo "🚀 Deploying application..."
npm run deploy:production

echo "✅ Setup completed!"
echo "🌐 Your application should be running at: https://lavocat.quebec"
echo "📋 Use './restart-production.sh' to restart the application"
EOF

chmod +x "$TEMP_DIR/quick-setup.sh"

# Create environment template
cat > "$TEMP_DIR/.env.production.template" <<EOF
# Production Environment Variables for lavocat.quebec
# Copy this to .env.production and update with your values

NODE_ENV=production

# Database Configuration (MySQL for production)
DATABASE_URL="mysql://gositeme_avocat:TDZEMAwNvFznSKQeDkjY@localhost:3306/gositeme_avocat"

# NextAuth Configuration
NEXTAUTH_URL=https://lavocat.quebec
NEXTAUTH_SECRET=your-production-secret-key-here

# OAuth Providers (Google, GitHub, etc.)
GOOGLE_ID=your-google-client-id
GOOGLE_SECRET=your-google-client-secret

# Email Configuration (SMTP)
EMAIL_SERVER_HOST=smtp.gmail.com
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER=your-email@gmail.com
EMAIL_SERVER_PASSWORD=your-app-password
EMAIL_FROM=noreply@lavocat.quebec

# Stripe Configuration
STRIPE_PUBLISHABLE_KEY=pk_test_your-stripe-publishable-key
STRIPE_SECRET_KEY=sk_test_your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=whsec_your-webhook-secret

# File Upload Configuration
MAX_FILE_SIZE=10485760
UPLOAD_DIR=./public/uploads

# WebSocket Configuration
WS_PORT=3443
WS_SECRET=your-websocket-secret

# Security
JWT_SECRET=your-jwt-secret-key
ENCRYPTION_KEY=your-encryption-key

# Analytics (Optional)
GOOGLE_ANALYTICS_ID=GA_MEASUREMENT_ID

# CDN Configuration (Optional)
CDN_URL=https://cdn.lavocat.quebec

# Redis Configuration (if using Redis)
REDIS_URL=redis://localhost:6379

# Logging
LOG_LEVEL=info
LOG_FILE=./logs/production.log

# Performance
MAX_CONCURRENT_REQUESTS=100
REQUEST_TIMEOUT=30000

# Domain Configuration
DOMAIN=lavocat.quebec
WWW_DOMAIN=www.lavocat.quebec
EOF

# Create zip file
print_status "Creating zip package..."
zip -r "$PACKAGE_NAME" "$TEMP_DIR"/*

# Clean up
rm -rf "$TEMP_DIR"

print_success "Deployment package created: $PACKAGE_NAME"
print_status "Package includes:"
print_status "  ✅ All source code"
print_status "  ✅ Configuration files"
print_status "  ✅ Deployment scripts"
print_status "  ✅ Database setup"
print_status "  ✅ Documentation"
print_status "  ✅ Quick setup script"
print_status ""
print_status "📦 Upload this zip file to your server and extract it in:"
print_status "   /home/gositeme/domains/lavocat.quebec/public_html/"
print_status ""
print_status "🚀 Then run: ./quick-setup.sh" 

CasperSecurity Mini