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

> Configure o strattum.ai localmente com Docker Compose em menos de 15 minutos.

> [!NOTE]
>
> A instalação local é destinada a avaliação, desenvolvimento e testes. Para ambientes de produção, consulte os guias de instalação em [AWS](https://docs.strattum.ai/getting-started/installation-aws.md), [GCP](https://docs.strattum.ai/getting-started/installation-gcp.md) ou [Azure](https://docs.strattum.ai/getting-started/installation-azure.md).

## Pré-requisitos

Antes de começar, verifique se sua máquina atende aos requisitos:

| Requisito | Mínimo | Recomendado |
| - | - | - |
| CPU | 4 vCPU | 8 vCPU |
| RAM | 16 GB | 32 GB |
| Disco | 50 GB livres | 100 GB livres |
| Docker | 24.x+ | Última versão estável |
| Docker Compose | v2.x+ | Última versão estável |

> [!WARNING]
>
> Em Mac com chip Apple Silicon (M1/M2/M3), o Docker Desktop precisa estar com **Rosetta** habilitado para algumas imagens. Acesse Docker Desktop → Settings → General → "Use Rosetta for x86/amd64 emulation".

***

## Instalação

**1. Clone o repositório de deploy**

```bash theme={null}
git clone https://github.com/strattum-ai/strattum-deploy.git
cd strattum-deploy/starter
```

**2. Configure as variáveis de ambiente**

Copie o arquivo de exemplo e preencha as variáveis obrigatórias:

```bash theme={null}
cp .env.example .env
```

Abra o `.env` e preencha no mínimo:

```bash theme={null}
# Senha do PostgreSQL — use um valor forte
POSTGRES_PASSWORD=minha-senha-segura

# DSN completo (use a mesma senha acima)
POSTGRES_DSN=postgresql://strattum:minha-senha-segura@strattum-postgres:5432/strattum

# URL do Prefect (mesma senha)
PREFECT_API_DATABASE_CONNECTION_URL=postgresql+asyncpg://strattum:minha-senha-segura@strattum-postgres:5432/prefect

# Provider de LLM — necessário para Knowledge e para os agentes que executam Skills
LLM_PROVIDER=openai
LLM_API_KEY=sk-...
LLM_MODEL=gpt-4o

# Chave Anthropic — necessária para as funcionalidades de IA no Console [verificar: uso exato da chave]
STRATTUM_ANTHROPIC_API_KEY=sk-ant-...

# Domínio local (para desenvolvimento)
TRAEFIK_DOMAIN=localhost
TRAEFIK_ACME_EMAIL=seu@email.com

# Zitadel (identity provider)
ZITADEL_DOMAIN=localhost
ZITADEL_MASTERKEY=uma-chave-de-exatamente-32-chars!

# Registry — deixe vazio para build local
REGISTRY=strattum
```

> [!TIP]
>
> Para gerar valores seguros: `openssl rand -hex 32` (para senhas e secrets) e `openssl rand -base64 32 | head -c 32` (para o ZITADEL\_MASTERKEY).

**3. Crie a rede Docker e os diretórios obrigatórios**

```bash theme={null}
# Rede interna compartilhada entre todos os serviços
docker network create strattum-network

# Diretório de secrets (credenciais de conectores)
mkdir -p secrets
echo '{}' > secrets/connector_registry.json
touch secrets/gcp-sa.json

# Diretório de configuração de conectores
mkdir -p config/connectors
mkdir -p config/memory
```

**4. Suba a plataforma**

```bash theme={null}
docker compose up -d
```

O primeiro boot leva 2–5 minutos enquanto as imagens são baixadas e os serviços inicializam. Acompanhe o progresso:

```bash theme={null}
docker compose logs -f
```

Aguarde até ver as mensagens de saúde dos serviços principais.

**5. Verifique a saúde dos serviços**

Execute o script de healthcheck incluído:

```bash theme={null}
./healthcheck.sh
```

Ou verifique manualmente cada API:

```bash theme={null}
# Catalog API
curl http://localhost:8001/health

# Memory API
curl http://localhost:8002/healthz

# Knowledge API
curl http://localhost:8003/healthz

# MCP Server
curl http://localhost:8005/healthz

# Console UI
curl http://localhost:3000/api/health
```

Todos devem retornar `200 OK`.

***

## Acessando a plataforma

Após subir todos os serviços:

| Serviço | URL local | Descrição |
| - | - | - |
| **Console UI** | [http://localhost:3000](http://localhost:3000) | Interface principal da plataforma |
| **Prefect UI** | [http://localhost:4200](http://localhost:4200) | Orquestração de pipelines |
| **PostgreSQL** | localhost:5432 | Banco de dados interno |
| **FalkorDB** | localhost:6380 | Graph store (Memory) |
| **Qdrant** | localhost:6333 | Vector store (Knowledge) |

> [!NOTE]
>
> No primeiro acesso ao Console UI, você será redirecionado para a tela de login do Zitadel. O usuário administrador inicial é criado automaticamente — consulte os logs do container `strattum-zitadel` para obter a senha inicial: `docker compose logs zitadel | grep -i "initial\|admin\|password"`.

***

## Configuração inicial do Zitadel

O Zitadel é o identity provider da plataforma. Para o ambiente local:

**1. Acesse o Zitadel**

Abra [http://localhost:8080](http://localhost:8080) no navegador.

**2. Crie o primeiro usuário administrador**

Navegue até **Users → New User** e crie o usuário que será usado para acessar o Console.

**3. Configure o client OIDC**

Em **Applications**, configure o client para o Console UI com:

* Redirect URI: `http://localhost:3000/api/auth/callback/zitadel`
* Post Logout URI: `http://localhost:3000`

Copie o **Client ID** e **Client Secret** gerados e adicione ao `.env`:

```bash theme={null}
ZITADEL_CLIENT_ID=<client-id>
ZITADEL_CLIENT_SECRET=<client-secret>
NEXTAUTH_URL=http://localhost:3000
```

**4. Reinicie o Console UI**

```bash theme={null}
docker compose restart strattum-console-ui
```

***

## Comandos úteis

```bash theme={null}
# Ver status de todos os containers
docker compose ps

# Ver logs de um serviço específico
docker compose logs -f strattum-memory-api

# Reiniciar um serviço
docker compose restart strattum-knowledge-api

# Parar toda a plataforma (preserva dados)
docker compose down

# Parar e remover volumes (apaga todos os dados)
docker compose down -v
```

***

## Próximos passos

Com a plataforma rodando, configure suas primeiras integrações:

> **[Configuração pós-instalação](https://docs.strattum.ai/getting-started/configuration.md)**
>
> Conecte fontes de dados, configure a ontologia e ative o pipeline de contexto.

> **[Conectores disponíveis](https://docs.strattum.ai/connectors/overview.md)**
>
> Veja todos os conectores suportados e como configurar cada um.


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