require('dotenv').config({ path: __dirname + '/.env' }); const HUB_SECRET = process.env.HUB_SECRET; if (!HUB_SECRET) throw new Error('HUB_SECRET not set in .env'); const OBSERVE_SECRET = process.env.OBSERVE_SECRET; if (!OBSERVE_SECRET) throw new Error('OBSERVE_SECRET not set in .env'); module.exports = { apps: [ { name: 'mcp-hub', script: 'src/index.js', cwd: '/workspace', env: { NODE_ENV: 'development', PORT: 3000, HUB_AUTH: JSON.stringify({ 'sample-mcp': HUB_SECRET, 'memory-mcp': HUB_SECRET }), OBSERVE_SECRET: OBSERVE_SECRET, GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID || '', GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET || '', OAUTH_ISSUER: process.env.OAUTH_ISSUER || 'https://mcp.arik.work' }, max_restarts: 10, kill_timeout: 5000, restart_delay: 2000, log_date_format: 'YYYY-MM-DD HH:mm:ss Z', merge_logs: true }, { name: 'sample-mcp', script: 'sample-mcp/index.js', cwd: '/workspace', env: { NODE_ENV: 'development', MCP_SECRET: HUB_SECRET }, max_restarts: 10, restart_delay: 2000, log_date_format: 'YYYY-MM-DD HH:mm:ss Z', merge_logs: true }, { name: 'mcp-bridge-memory', script: 'mcp-bridge/index.js', cwd: '/workspace', env: { BRIDGE_SERVICE_ID: 'memory-mcp', BRIDGE_SECRET: HUB_SECRET, BRIDGE_HUB_URL: 'ws://localhost:3000/ws/register', BRIDGE_UPSTREAM_URL: 'https://memory-mcp.dbchat.ai/mcp/sse' }, max_restarts: 10, restart_delay: 2000, log_date_format: 'YYYY-MM-DD HH:mm:ss Z', merge_logs: true } ] };