services: - type: web name: skynet-app env: node rootDir: . buildCommand: npm ci startCommand: node index.js autoDeploy: true healthCheckPath: /health envVars: - key: NODE_ENV value: production - key: PORT fromService: type: runtimePort - key: REDIS_URL fromService: name: skynet-redis type: redis - type: worker name: skynet-worker env: node rootDir: . buildCommand: npm ci startCommand: node worker.js autoDeploy: true envVars: - key: NODE_ENV value: production - key: REDIS_URL fromService: name: skynet-redis type: redis - type: worker name: skynet-scheduler env: node rootDir: . buildCommand: npm ci startCommand: node scheduler.js autoDeploy: true envVars: - key: NODE_ENV value: production - key: REDIS_URL fromService: name: skynet-redis type: redis - type: web name: skynet-status env: node rootDir: . buildCommand: npm ci startCommand: node status.js autoDeploy: true healthCheckPath: /health envVars: - key: NODE_ENV value: production - key: STATUS_TOKEN sync: false - key: PORT fromService: type: runtimePort - type: web name: skynet-webhook env: node rootDir: . buildCommand: npm ci startCommand: node webhook.js autoDeploy: true healthCheckPath: /health envVars: - key: NODE_ENV value: production - key: WEBHOOK_SECRET sync: false - key: PORT fromService: type: runtimePort - type: redis name: skynet-redis ipAllowList: []