94 deployment scripts, 32 setup scripts, 8 operational utilities (cloudflare, docker, k3s, railway, tailscale, ssh, dns, network), and Next.js infrastructure dashboard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
92 lines
2.5 KiB
Bash
Executable File
92 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# PM2 Ecosystem Configuration for BlackRoad Services
|
|
# Use PM2 for production-grade process management
|
|
|
|
cat > /tmp/blackroad-ecosystem.config.js << 'EOF'
|
|
module.exports = {
|
|
apps: [
|
|
{
|
|
name: 'blackroad-auth',
|
|
cwd: process.env.HOME + '/services/auth',
|
|
script: 'npm',
|
|
args: 'run dev',
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '500M',
|
|
env: {
|
|
NODE_ENV: 'development',
|
|
PORT: 3004
|
|
},
|
|
error_file: process.env.HOME + '/.blackroad/logs/auth-error.log',
|
|
out_file: process.env.HOME + '/.blackroad/logs/auth-out.log',
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
min_uptime: '10s',
|
|
max_restarts: 10,
|
|
restart_delay: 4000
|
|
},
|
|
{
|
|
name: 'blackroad-domains',
|
|
cwd: process.env.HOME + '/services/domains',
|
|
script: 'npm',
|
|
args: 'run dev',
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '500M',
|
|
env: {
|
|
NODE_ENV: 'development',
|
|
PORT: 3005
|
|
},
|
|
error_file: process.env.HOME + '/.blackroad/logs/domains-error.log',
|
|
out_file: process.env.HOME + '/.blackroad/logs/domains-out.log',
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
min_uptime: '10s',
|
|
max_restarts: 10,
|
|
restart_delay: 4000
|
|
},
|
|
{
|
|
name: 'copilot-gateway',
|
|
cwd: process.env.HOME + '/copilot-agent-gateway',
|
|
script: 'web-server.js',
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '500M',
|
|
env: {
|
|
NODE_ENV: 'production',
|
|
PORT: 3030,
|
|
BLACKROAD_AI_ENDPOINT: 'http://localhost:11434'
|
|
},
|
|
error_file: process.env.HOME + '/.blackroad/logs/gateway-error.log',
|
|
out_file: process.env.HOME + '/.blackroad/logs/gateway-out.log',
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
min_uptime: '10s',
|
|
max_restarts: 10,
|
|
restart_delay: 4000
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
|
|
echo "✓ PM2 ecosystem config created at /tmp/blackroad-ecosystem.config.js"
|
|
echo ""
|
|
echo "To use PM2:"
|
|
echo " 1. Install: npm install -g pm2"
|
|
echo " 2. Start: pm2 start /tmp/blackroad-ecosystem.config.js"
|
|
echo " 3. Monitor: pm2 monit"
|
|
echo " 4. Status: pm2 status"
|
|
echo " 5. Logs: pm2 logs"
|
|
echo " 6. Save: pm2 save"
|
|
echo " 7. Startup: pm2 startup"
|
|
echo ""
|
|
echo "PM2 provides:"
|
|
echo " - Auto-restart on crash"
|
|
echo " - Memory limits and restart"
|
|
echo " - Log management"
|
|
echo " - Load balancing"
|
|
echo " - Startup scripts"
|