Ctrl K
ComunidadGuías…

docs/deployment/ecosystem.config.cjs

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// DOMINUS — PM2 ecosystem file for process management.
//
// Usage:
//   pm2 start ecosystem.config.cjs
//   pm2 save                           # persist the process list
//   pm2 startup                        # auto-start on boot
//
// For a multi-instance cluster (recommended for production):
//   pm2 start ecosystem.config.cjs -i max

module.exports = {
  apps: [
    {
      name: 'dominus',
      script: './dist/index.js',
      cwd: __dirname,

      // Environment variables (override in ecosystem.config.local.cjs)
      env: {
        NODE_ENV: 'production',
        PORT: 3000,
        HOST: '127.0.0.1',
        LOG_LEVEL: 'info',
        DATABASE_PATH: './data/dominus.db',
      },

      // Load .env file if present (PM2 merges this with env above)
      env_file: '.env',

      // Process management
      instances: 1,
      exec_mode: 'fork',
      max_restarts: 10,
      min_uptime: '10s',
      restart_delay: 5000,

      // Logging
      log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
      error_file: './logs/dominus-error.log',
      out_file: './logs/dominus-out.log',
      merge_logs: true,
      max_size: '10M',
      retain: 3,

      // Resource limits (requires PM2 >= 5.3)
      max_memory_restart: '512M',

      // Graceful shutdown
      kill_timeout: 10000,
      listen_timeout: 5000,
    },
  ],
};