Pular para o conteúdo

Configuração de Ambiente

Implementador

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

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

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

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

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

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

PRODGY_GATEWAY_PORT=3100
LOG_LEVEL=info

# API
PRODGY_API_URL=https://api.seudominio.com
PRODGY_API_TOKEN=token-seguro-api

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

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
  }
}

  • Nunca commite arquivos .env ou appsettings.Production.json no 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