> ## Documentation Index
> Fetch the complete documentation index at: https://strattumai.mintlify.site/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.
</Note>

## 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.
</Note>

### 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.
</Tip>

***

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