Files
Karibeo-API/ecosystem.config.js
2026-01-21 12:48:44 -04:00

100 lines
4.0 KiB
JavaScript

module.exports = {
apps: [{
name: 'karibeo-api',
script: 'dist/main.js',
instances: 2, // Puedes ajustar según tu servidor
exec_mode: 'cluster',
watch: false,
max_memory_restart: '1G',
restart_delay: 4000,
env: {
NODE_ENV: 'development',
// Database
DB_HOST: 'localhost',
DB_PORT: '5432',
DB_USERNAME: 'karibeo',
DB_PASSWORD: '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',
DB_NAME: 'karibeo_db',
// JWT
JWT_SECRET: 'karibeo_jwt_secret_key_2025_very_secure',
JWT_EXPIRES_IN: '24h',
JWT_REFRESH_SECRET: 'karibeo_refresh_secret_key_2025',
JWT_REFRESH_EXPIRES_IN: '7d',
// App
APP_PORT: '3000',
APP_NAME: 'Karibeo API',
APP_VERSION: '1.0.0',
APP_DESCRIPTION: 'Integrated Tourism Applications System API',
// Throttle
THROTTLE_TTL: '60',
THROTTLE_LIMIT: '100',
// CORS
CORS_ORIGINS: 'http://localhost:3000,http://localhost:4200,http://localhost:8080',
// Stripe Configuration
STRIPE_SECRET_KEY: 'sk_test_your_stripe_secret_key_here',
STRIPE_PUBLISHABLE_KEY: 'pk_test_your_stripe_publishable_key_here',
STRIPE_WEBHOOK_SECRET: 'whsec_your_webhook_secret_here',
// AWS S3 Configuration
AWS_ACCESS_KEY_ID: 'your_aws_access_key_id',
AWS_SECRET_ACCESS_KEY: 'your_aws_secret_access_key',
AWS_REGION: 'us-east-1',
AWS_S3_BUCKET: 'karibeo-assets',
AWS_CLOUDFRONT_URL: 'https://d1234567890.cloudfront.net',
// SendGrid Configuration
SENDGRID_API_KEY: 'SG.your_sendgrid_api_key_here',
SENDGRID_FROM_EMAIL: 'noreply@karibeo.com',
SENDGRID_FROM_NAME: 'Karibeo',
// WhatsApp Business API Configuration
WHATSAPP_API_URL: 'https://graph.facebook.com/v18.0/your_phone_number_id',
WHATSAPP_ACCESS_TOKEN: 'your_whatsapp_access_token',
WHATSAPP_VERIFY_TOKEN: 'your_webhook_verify_token'
},
env_production: {
NODE_ENV: 'production',
// Database - Actualiza con valores de producción
DB_HOST: 'localhost', // Cambiar por tu host de producción
DB_PORT: '5432',
DB_USERNAME: 'karibeo',
DB_PASSWORD: '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',
DB_NAME: 'karibeo_db',
// JWT
JWT_SECRET: 'karibeo_jwt_secret_key_2025_very_secure',
JWT_EXPIRES_IN: '24h',
JWT_REFRESH_SECRET: 'karibeo_refresh_secret_key_2025',
JWT_REFRESH_EXPIRES_IN: '7d',
// App
APP_PORT: '3000',
APP_NAME: 'Karibeo API',
APP_VERSION: '1.0.0',
APP_DESCRIPTION: 'Integrated Tourism Applications System API',
// Throttle
THROTTLE_TTL: '60',
THROTTLE_LIMIT: '100',
// CORS - Actualizar con dominios de producción
CORS_ORIGINS: 'https://karibeo.com,https://app.karibeo.com',
// Stripe Configuration - Usar claves de producción
STRIPE_SECRET_KEY: 'sk_live_your_production_stripe_secret_key',
STRIPE_PUBLISHABLE_KEY: 'pk_live_your_production_stripe_publishable_key',
STRIPE_WEBHOOK_SECRET: 'whsec_your_production_webhook_secret',
// AWS S3 Configuration - Usar credenciales de producción
AWS_ACCESS_KEY_ID: 'your_production_aws_access_key_id',
AWS_SECRET_ACCESS_KEY: 'your_production_aws_secret_access_key',
AWS_REGION: 'us-east-1',
AWS_S3_BUCKET: 'karibeo-assets',
AWS_CLOUDFRONT_URL: 'https://d1234567890.cloudfront.net',
// SendGrid Configuration
SENDGRID_API_KEY: 'SG.your_production_sendgrid_api_key',
SENDGRID_FROM_EMAIL: 'noreply@karibeo.com',
SENDGRID_FROM_NAME: 'Karibeo',
// WhatsApp Business API Configuration
WHATSAPP_API_URL: 'https://graph.facebook.com/v18.0/your_production_phone_number_id',
WHATSAPP_ACCESS_TOKEN: 'your_production_whatsapp_access_token',
WHATSAPP_VERIFY_TOKEN: 'your_production_webhook_verify_token'
},
log_date_format: 'YYYY-MM-DD HH:mm Z',
error_file: './logs/pm2-error.log',
out_file: './logs/pm2-out.log',
log_file: './logs/pm2-combined.log'
}]
};