> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strattum.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalação na AWS

> Deploy do strattum.ai em uma instância EC2 na AWS com Docker Compose (tier Starter) ou EKS (tiers Growth e Scale).

> [!NOTE]
>
> O deploy na AWS é realizado pelo time da Strattum via ferramenta automatizada. Esta página documenta o processo para referência técnica do cliente e do time de operações.

## Modelo de deploy BYOC

O strattum.ai opera no modelo **BYOC (Bring Your Own Cloud)**: toda a plataforma é instalada na conta AWS do próprio cliente. Os dados nunca saem do ambiente corporativo. O time da Strattum acessa apenas logs de infraestrutura via VPN — nunca os dados de negócio.

***

## Tiers disponíveis

| Tier | Infra | Preço | Capacidade |
| - | - | - | - |
| **Starter** | 1 EC2 `t3.xlarge` + Docker Compose | \~R\$ 920/mês | Até 50K entidades, até 5 conectores |
| **Growth** | EKS (2–3 nodes) | \~R\$ 2.500/mês | Até 500K entidades, até 15 conectores |
| **Scale** | EKS cloud-native com HPA | \~R\$ 5.000+/mês | Sem limite, multi-AZ |

***

## Tier Starter — EC2 com Docker Compose

### Pré-requisitos

* [ ] Conta AWS com billing ativo
* [ ] Permissões para criar: VPC, EC2, S3, Secrets Manager, IAM Roles
* [ ] Região definida (recomendação: `sa-east-1` — São Paulo)
* [ ] SSH key pair criado na região
* [ ] Credenciais dos conectores coletadas (CRM, ERP, etc.)

### Infraestrutura provisionada pelo Terraform

O Terraform da Strattum cria automaticamente:

| Recurso AWS | Especificação | Finalidade |
| - | - | - |
| EC2 `t3.xlarge` | 4 vCPU / 16GB RAM | Host principal da plataforma |
| VPC + Subnets | 1 VPC privada + 1 subnet pública | Isolamento de rede |
| Security Groups | Ports 443 (HTTPS), 51820/UDP (WireGuard) | Controle de acesso |
| S3 Bucket | `<client>-strattum-data` | Data Lake (arquivos Parquet) |
| AWS Secrets Manager | 1 secret por instalação | Credenciais e chaves |
| IAM Role | EC2 Instance Profile | Acesso ao S3 e Secrets Manager |
| Elastic IP | 1 IP estático | Endereço fixo da instância |

### Processo de instalação

O time da Strattum executa:

```bash theme={null}
strattum init \
  --cloud aws \
  --tier starter \
  --client <nome-do-cliente> \
  --region sa-east-1
```

Este comando:

1. Provisiona toda a infraestrutura via Terraform (\~10 min)
2. Instala a plataforma com Docker Compose (\~5 min)
3. Executa healthcheck em todos os serviços
4. Registra a licença da instalação

### Variáveis de ambiente obrigatórias

Após o provisionamento, o time configura no `.env` da instância:

```bash theme={null}
# Storage AWS S3
STORAGE_BACKEND=s3
S3_BUCKET=<client>-strattum-data
AWS_REGION=sa-east-1

# Credenciais IAM (preenchidas via Instance Profile — não precisam de chaves explícitas)
# AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY são injetados automaticamente via IAM Role

# LLM Provider
LLM_PROVIDER=openai
LLM_API_KEY=<chave-do-cliente>
LLM_MODEL=gpt-4o

# Domínio público
TRAEFIK_DOMAIN=app.<dominio-do-cliente>.com.br
TRAEFIK_ACME_EMAIL=ops@<dominio-do-cliente>.com.br

# Zitadel
ZITADEL_DOMAIN=auth.<dominio-do-cliente>.com.br
ZITADEL_MASTERKEY=<gerado-via-openssl>
```

### Acesso após instalação

| URL | Descrição |
| - | - |
| `https://app.<dominio>.com.br` | Console UI (HTTPS via Let's Encrypt) |
| `https://auth.<dominio>.com.br` | Zitadel — identity provider |
| VPN WireGuard `:51820` | Acesso operacional (equipe interna + Strattum SRE) |

> [!NOTE]
>
> O Console UI só fica acessível via HTTPS com certificado Let's Encrypt. Para isso, o domínio deve estar apontando para o Elastic IP da instância antes de subir a plataforma.

### DNS — configuração necessária

Adicione dois registros A no DNS do cliente antes do deploy:

```
app.dominio.com.br    → <Elastic IP>
auth.dominio.com.br   → <Elastic IP>
```

***

## Tier Growth/Scale — EKS

Para tiers Growth e Scale, a plataforma roda em um cluster EKS com:

* 2–3 nodes (`t3.large` ou `t3.xlarge` dependendo do tier)
* PostgreSQL managed via RDS for PostgreSQL (Multi-AZ no Scale)
* Auto Scaling Groups nos node groups
* HPA (Horizontal Pod Autoscaler) nas APIs stateless
* ALB (Application Load Balancer) como ingress

### Quando migrar de Starter para Growth?

A migração é recomendada quando:

* Número de entidades ultrapassa \~40K (memória do FalkorDB começa a pressionar)
* Número de conectores ultrapassa 5
* O cliente precisa de SLA de uptime acima de 99%
* Latência da Memory API começa a degradar sob carga

A migração não requer mudança nas imagens Docker — apenas no orquestrador. O time da Strattum executa a migração em janela de manutenção acordada.

***

## Custos estimados (Starter — sa-east-1)

| Recurso | Custo estimado/mês |
| - | - |
| EC2 `t3.xlarge` | \~R\$ 600 |
| S3 (100 GB) | \~R\$ 12 |
| EBS SSD (100 GB) | \~R\$ 50 |
| NAT Gateway | \~R\$ 180 |
| Bastion / Client VPN | \~R\$ 80 |
| **Total** | **\~R\$ 920** |

> [!TIP]
>
> Esses valores são estimativas de fevereiro/2026. O cliente paga diretamente à AWS — a Strattum não cobra pela infraestrutura, apenas pela licença da plataforma.

***

## Segurança

A configuração padrão do Starter inclui:

* Encryption at rest em todos os volumes EBS e buckets S3
* TLS entre todos os serviços internos
* Zero IP público nas APIs internas (acessíveis apenas via VPN WireGuard)
* Secrets no AWS Secrets Manager — nunca em plaintext no `.env`
* IAM com princípio de menor privilégio por serviço
* Backup automatizado: PostgreSQL (7 dias via RDS snapshots), FalkorDB (diário via cron)

***

## Suporte

Dúvidas sobre o deploy? Entre em contato com o time da Strattum:

* Canal Slack compartilhado: `#strattum-suporte`
* Todas as ações do time Strattum ficam registradas em **Governance → Audit Log** no Console


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.