← Назад
const fs = require('fs'); const path = require('path'); // Load .env file manually const envPath = path.join(__dirname, '.env'); const envVars = {}; if (fs.existsSync(envPath)) { const envContent = fs.readFileSync(envPath, 'utf8'); envContent.split('\n').forEach(line => { const [key, ...valueParts] = line.split('='); if (key && valueParts.length > 0) { const value = valueParts.join('=').trim(); if (key.trim() && !key.startsWith('#')) { envVars[key.trim()] = value; } } }); } module.exports = { apps: [{ name: 'alphapulse', script: './bot.py', interpreter: 'python3', cwd: '/home/app/alphapulsexp', // Stability settings min_uptime: '10s', max_restarts: 5, restart_delay: 5000, max_memory_restart: '200M', // Error handling kill_timeout: 5000, listen_timeout: 10000, // Logs log_file: '/home/app/.pm2/logs/alphapulse-combined.log', out_file: '/home/app/.pm2/logs/alphapulse-out.log', error_file: '/home/app/.pm2/logs/alphapulse-error.log', log_date_format: 'YYYY-MM-DD HH:mm:ss Z', // Environment variables from .env + defaults env: { ...envVars, NODE_ENV: 'production', PYTHONUNBUFFERED: '1' }, // Auto-restart on failure autorestart: true, exp_backoff_restart_delay: 100 }] };