37 lines
1006 B
Bash
37 lines
1006 B
Bash
#!/bin/bash
|
|
|
|
# Container startup script
|
|
# This runs when the container starts, not during build
|
|
|
|
echo "🚀 Starting application..."
|
|
|
|
# Ensure data directory exists
|
|
mkdir -p /app/data
|
|
|
|
# Ensure uploads directory structure exists
|
|
mkdir -p /app/public/uploads/contracts
|
|
mkdir -p /app/public/uploads/projects
|
|
mkdir -p /app/public/uploads/tasks
|
|
|
|
# Set proper permissions for uploads directory
|
|
chmod -R 755 /app/public/uploads
|
|
|
|
# Create admin account if it doesn't exist
|
|
echo "🔧 Setting up admin account..."
|
|
node scripts/create-admin.js
|
|
|
|
# Run any pending database migrations
|
|
echo "🔄 Running database migrations..."
|
|
./run-migrations.sh
|
|
|
|
# Set up daily backup cron job (runs at 2 AM daily)
|
|
echo "⏰ Setting up daily backup cron job..."
|
|
echo "0 2 * * * cd /app && node backup-db.mjs >> /app/data/backup.log 2>&1" > /etc/cron.d/backup-cron
|
|
chmod 0644 /etc/cron.d/backup-cron
|
|
crontab /etc/cron.d/backup-cron
|
|
service cron start
|
|
|
|
# Start the application
|
|
echo "✅ Starting production server..."
|
|
exec npm start
|