{ "services": [ { "id": "python-contabil", "name": "Contabil Service", "description": "Serviço de contabilidade e integração fiscal", "type": "python", "command": "python3", "args": ["-m", "uvicorn", "contabil.main:app", "--host", "0.0.0.0", "--port", "8003"], "cwd": "./python-service", "port": 8003, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "PYTHONPATH": ".", "SERVICE_NAME": "contabil", "LOG_LEVEL": "info" }, "maxRestarts": 5, "autoStart": true }, { "id": "bi-api", "name": "BI API Gateway", "type": "node", "command": "node", "args": ["dist/server/bi/index.js"], "cwd": ".", "port": 8004, "autoStart": true, "env": { "NODE_ENV": "production", "SERVICE_NAME": "bi-api", "PORT": "8004", "METASET_HOST": "127.0.0.1", "METASET_PORT": "8100", "FDB_BRIDGE_PORT": "8200" }, "healthCheck": { "path": "/bi/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "maxRestarts": 5, "description": "Gateway de BI com proxy para MetaSet e FDB-Bridge" }, { "id": "metaset", "name": "MetaSet BI", "type": "python", "command": "python", "args": ["server/bi/metaset/run.py", "--port=8100", "--host=127.0.0.1"], "cwd": ".", "port": 8100, "autoStart": false, "env": { "PYTHONPATH": "server/bi/metaset", "FLASK_ENV": "production", "SUPERSET_CONFIG_PATH": "server/bi/metaset/superset_config.py", "SUPERSET_SECRET_KEY": "${SUPERSET_SECRET_KEY}" }, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 10000, "retries": 3 }, "maxRestarts": 3, "description": "Apache Superset rebrandado como MetaSet - Gerenciado via Docker Discovery" }, { "id": "fdb-bridge", "name": "FDB Bridge", "type": "python", "command": "python", "args": ["server/bi/fdb-bridge/main.py", "--port=8200"], "cwd": ".", "port": 8200, "autoStart": true, "env": { "PYTHONPATH": "server/bi/fdb-bridge", "FDB_HOST": "${FDB_HOST}", "FDB_PORT": "${FDB_PORT:-3050}" }, "healthCheck": { "path": "/health", "interval": 60000, "timeout": 5000, "retries": 3 }, "maxRestarts": 3, "description": "Conector Firebird para sincronização de dados" }, { "id": "python-automation", "name": "Automation Service", "description": "Serviço de automações e workflows", "type": "python", "command": "python3", "args": ["-m", "uvicorn", "automation.main:app", "--host", "0.0.0.0", "--port", "8005"], "cwd": "./python-service", "port": 8005, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "PYTHONPATH": ".", "SERVICE_NAME": "automation", "LOG_LEVEL": "info" }, "maxRestarts": 5, "autoStart": true }, { "id": "python-fisco", "name": "Motor Fiscal", "description": "NF-e/NFC-e - NCMs, CFOPs, CESTs, SEFAZ", "type": "python", "command": "python3", "args": ["-m", "uvicorn", "fisco_service:app", "--host", "0.0.0.0", "--port", "8002"], "cwd": "./server/python", "port": 8002, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "PYTHONPATH": ".", "SERVICE_NAME": "fisco", "LOG_LEVEL": "info" }, "maxRestarts": 5, "autoStart": false }, { "id": "node-communication", "name": "Communication Service", "description": "Serviço de comunicação WhatsApp e outros canais", "type": "node", "command": "node", "args": ["dist/services/communication/index.js"], "port": 8006, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "NODE_ENV": "production", "SERVICE_NAME": "communication", "PORT": "8006" }, "maxRestarts": 5, "autoStart": false }, { "id": "node-core-api", "name": "Core API Service", "description": "API Core adicional para processamento", "type": "node", "command": "node", "args": ["dist/services/core-api/index.js"], "port": 9002, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "NODE_ENV": "production", "SERVICE_NAME": "core-api", "PORT": "9002" }, "maxRestarts": 5, "autoStart": false }, { "id": "node-worker", "name": "Worker Service", "description": "Processamento de jobs e tarefas em background", "type": "node", "command": "node", "args": ["dist/services/worker/index.js"], "port": 9003, "healthCheck": { "path": "/health", "interval": 30000, "timeout": 5000, "retries": 3 }, "env": { "NODE_ENV": "production", "SERVICE_NAME": "worker", "PORT": "9003" }, "maxRestarts": 5, "autoStart": false } ] }