Configuração de Ambiente
Implementador
Variáveis Compartilhadas (Raiz)
Seção intitulada “Variáveis Compartilhadas (Raiz)”Estas variáveis são utilizadas por múltiplos serviços e devem ser definidas globalmente:
# Supabase (Banco de Dados e Autenticação) SUPABASE_URL=https://seu-projeto.supabase.co SUPABASE_ANON_KEY=eyJhbGciOi... SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOi... # URLs dos Serviços VITE_PRODGY_API_URL=https://api.seudominio.com PRODGY_ENGINE_URL=http://engine:8001 PRODGY_SERVICE_URL=http://service:5000 PRODGY_AGENTIC_URL=http://agentic:3200 # Tokens de Serviço-a-Serviço PRODGY_API_TOKEN=token-seguro-api PRODGY_ENGINE_TOKEN=token-seguro-engine PRODGY_SERVICE_TOKEN=token-seguro-service PRODGY_AGENTIC_TOKEN=token-seguro-agentic # Redis REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=sua-senha-redis # URLs do Frontend VITE_PRODGY_DOCS_URL=https://docs.seudominio.com VITE_PRODGY_TERMS_URL=https://seudominio.com/terms VITE_PRODGY_PRIVACY_URL=https://seudominio.com/privacy
API (Backend)
Seção intitulada “API (Backend)”PORT=4000 NODE_ENV=production LOG_LEVEL=info # Supabase SUPABASE_URL=https://seu-projeto.supabase.co SUPABASE_ANON_KEY=eyJhbGciOi... SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOi... # CORS (origens permitidas separadas por virgula) CORS_ORIGIN=https://seudominio.com,https://studio.seudominio.com # Criptografia (mínimo 32 caracteres) ENCRYPTION_KEY=chave-de-criptografia-com-no-mínimo-32-caracteres # URLs VITE_PRODGY_API_URL=https://api.seudominio.com # Tokens PRODGY_API_TOKEN=token-seguro-api
Web (Frontend)
Seção intitulada “Web (Frontend)”VITE_PRODGY_API_URL=https://api.seudominio.com VITE_PRODGY_DOCS_URL=https://docs.seudominio.com VITE_PRODGY_TERMS_URL=https://seudominio.com/terms VITE_PRODGY_PRIVACY_URL=https://seudominio.com/privacy VITE_GTM_ID=GTM-XXXXXXX VITE_DISABLE_SOCIAL_SIGNIN=false
Service (Filas)
Seção intitulada “Service (Filas)”NODE_ENV=production PORT=5000 LOG_LEVEL=info # Redis REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=sua-senha-redis REDIS_DB=0 # Configuração de Filas QUEUE_CONCURRENCY=5 QUEUE_MAX_RETRIES=3 QUEUE_RETRY_DELAY=5000 # Tokens PRODGY_SERVICE_TOKEN=token-seguro-service PRODGY_ENGINE_URL=http://engine:8001 PRODGY_ENGINE_TOKEN=token-seguro-engine
Engine (Motor de IA)
Seção intitulada “Engine (Motor de IA)”ENVIRONMENT=production PORT=8001 LOG_LEVEL=INFO # Supabase SUPABASE_URL=https://seu-projeto.supabase.co SUPABASE_ANON_KEY=eyJhbGciOi... SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOi... # API VITE_PRODGY_API_URL=https://api.seudominio.com PRODGY_API_TOKEN=token-seguro-api
Studio (Editor de Workflows)
Seção intitulada “Studio (Editor de Workflows)”VITE_PRODGY_API_URL=https://api.seudominio.com VITE_PRODGY_ENGINE_URL=https://engine.seudominio.com VITE_PRODGY_TERMS_URL=https://seudominio.com/terms VITE_PRODGY_PRIVACY_URL=https://seudominio.com/privacy VITE_GTM_ID=GTM-XXXXXXX VITE_DISABLE_SOCIAL_SIGNIN=false
Gateway (Servidor MCP)
Seção intitulada “Gateway (Servidor MCP)”PRODGY_GATEWAY_PORT=3100 LOG_LEVEL=info # API PRODGY_API_URL=https://api.seudominio.com PRODGY_API_TOKEN=token-seguro-api
Agentic (Orquestrador de Agentes)
Seção intitulada “Agentic (Orquestrador de Agentes)”PRODGY_AGENTIC_PORT=3200 NODE_ENV=production LOG_LEVEL=info # API VITE_PRODGY_API_URL=https://api.seudominio.com PRODGY_API_TOKEN=token-seguro-api # Autenticação de serviço PRODGY_AGENTIC_TOKEN=token-seguro-agentic
Assistant (Bot Teams)
Seção intitulada “Assistant (Bot Teams)”O Assistant utiliza appsettings.Production.json ao invés de variáveis de ambiente:
{ "BaseUrl": "https://teams.seudominio.com", "AzureAd": { "TenantId": "seu-tenant-id", "ClientId": "seu-client-id", "ClientSecret": "seu-client-secret", "BotUserId": "id-do-bot" }, "GraphCommsBot": { "AppId": "app-id", "AppSecret": "app-secret", "CertificateThumbprint": "thumbprint-do-certificado", "MediaPlatform": { "InstanceInternalPort": 8445, "InstancePublicPort": 8445 } }, "ProdgyBack": { "BaseUrl": "https://api.seudominio.com", "ApiKey": "token-seguro-api" }, "TranscriptEngine": "api", "Redis": { "ConnectionString": "redis-host:6379,password=sua-senha,ssl=True", "Db": 1 } }
Boas Práticas
Seção intitulada “Boas Práticas”- Nunca commite arquivos
.envouappsettings.Production.jsonno repositório - Utilize um gerenciador de segredos (Azure Key Vault, HashiCorp Vault, etc.)
- Gere tokens de serviço com entropia alta (mínimo 32 caracteres aleatórios)
- Mantenha tokens únicos por ambiente (dev, staging, produção)
- Revise periodicamente as variáveis e rotacione segredos