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

# Guia de Início Rápido

> Implante o CaseBender localmente em minutos

<Tip>
  **Procurando uma forma mais fácil?** Use nosso [Instalador Desktop](/pt-BR/deployment/desktop-installer) para implantação com um clique e configuração automática. Sem linha de comando!
</Tip>

## Pré-requisitos

Antes de começar, certifique-se de ter o seguinte instalado em seu sistema:

* Docker Engine (20.10.0 ou superior)
* Docker Compose (v2.0.0 ou superior)
* OpenSSL (para gerar certificados SSL)

### Instalando o Docker

#### Para macOS:

1. Baixe e instale o Docker Desktop do [Docker Hub](https://hub.docker.com/editions/community/docker-ce-desktop-mac)
2. Siga o assistente de instalação
3. Verifique a instalação:

```bash theme={null}
docker --version
docker-compose --version
```

#### Para Linux (Ubuntu/Debian):

```bash theme={null}
# Atualize o índice de pacotes
sudo apt-get update

# Instale os pré-requisitos
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Adicione a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Configure o repositório estável
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instale o Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Adicione seu usuário ao grupo docker
sudo usermod -aG docker $USER
```

#### Para Windows:

1. Baixe e instale o Docker Desktop do [Docker Hub](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
2. Habilite o WSL 2 seguindo a documentação do Docker
3. Siga o assistente de instalação
4. Verifique a instalação no PowerShell:

```powershell theme={null}
docker --version
docker-compose --version
```

## Passo 1: Criar Diretório do Projeto

Crie um novo diretório para sua implantação do CaseBender e navegue até ele:

```bash theme={null}
mkdir casebender-deployment
cd casebender-deployment
```

## Passo 2: Configurar Variáveis de Ambiente

Crie um arquivo `.env` com o seguinte conteúdo:

```bash theme={null}
# Autenticação
AUTH_SECRET="B7OawnWf6+LwB/9yXbxbk4ppZ1khydqj4qc9k9g3nnE="
AUTH_SALT="B7OawnW"
NEXTAUTH_URL=https://local.casebender.com
NEXTAPP_URL=https://local.casebender.com

# Configuração do Liveblocks
LIVEBLOCKS_SECRET_KEY=sk_dev_HaIczPV4gPit5_gx7YRsNXLGJNzBE5wQ8z8I1H8ft3ZPZHVrfH2ryJJ586ezHYla

# Configuração do Banco de Dados
POSTGRES_PRISMA_URL="postgresql://superadmin:88AlwaysTimeToWin88@db:5432/casebender?pgbouncer=true&connect_timeout=15"
POSTGRES_URL="postgresql://superadmin:88AlwaysTimeToWin88@db:5432/casebender?pgbouncer=true&connect_timeout=15"
POSTGRES_URL_NON_POOLING="postgresql://superadmin:88AlwaysTimeToWin88@db:5432/casebender"

# Configuração do Redis
REDIS_URL="redis://redis:6379"
```

## Passo 3: Gerar Certificados SSL

Para desenvolvimento local, gere certificados SSL autoassinados:

```bash theme={null}
# Gerar certificado SSL e chave
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout local-casebender.key \
  -out local-casebender.crt \
  -subj "/CN=local.casebender.com/O=CaseBender/C=US"

# Verificar o certificado
openssl x509 -in local-casebender.crt -text -noout
```

## Passo 4: Configurar Nginx

Crie `nginx.conf` com o seguinte conteúdo:

```nginx theme={null}
events {
    worker_connections 1024;
}

http {
    server {
        listen 443 ssl http2;
        server_name local.casebender.com;

        ssl_certificate /etc/nginx/certs/local-casebender.crt;
        ssl_certificate_key /etc/nginx/certs/local-casebender.key;

        location / {
            proxy_pass http://app:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

    # Servidor HTTP opcional para redirecionar para HTTPS
    server {
        listen 80;
        server_name local.casebender.com;
        # Redirecionar todo o tráfego HTTP para HTTPS
        return 301 https://$host$request_uri;
    }
}
```

## Passo 5: Criar Configuração do Docker Compose

Crie `docker-compose.yml` com o seguinte conteúdo:

```yaml theme={null}
services:
  app:
    ports:
      - "3000:3000"
    environment:
      - AUTH_SECRET=${AUTH_SECRET}
      - AUTH_SALT=${AUTH_SALT}
      - NEXTAUTH_URL=${NEXTAUTH_URL:-https://local.casebender.com}
      - NEXTAPP_URL=${NEXTAPP_URL:-https://local.casebender.com}
      - LIVEBLOCKS_SECRET_KEY=${LIVEBLOCKS_SECRET_KEY}
      - POSTGRES_PRISMA_URL=${POSTGRES_PRISMA_URL}
      - POSTGRES_URL=${POSTGRES_URL}
      - POSTGRES_URL_NON_POOLING=${POSTGRES_URL_NON_POOLING}
    image: casebender/casebender:latest
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: postgres
    environment:
      POSTGRES_USER: superadmin
      POSTGRES_PASSWORD: 88AlwaysTimeToWin88
      POSTGRES_DB: casebender
    ports:
      - "5433:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data

  workflow-processor:
    image: casebender/workflow-processor:latest
    environment:
      - POSTGRES_PRISMA_URL=${POSTGRES_PRISMA_URL}
      - POSTGRES_URL=${POSTGRES_URL}
      - POSTGRES_URL_NON_POOLING=${POSTGRES_URL_NON_POOLING}
      - REDIS_URL=${REDIS_URL}
    depends_on:
      - db
      - redis
    ports:
      - "3001:3001"

  misp-processor:
    image: casebender/misp-processor:latest
    environment:
      - POSTGRES_PRISMA_URL=${POSTGRES_PRISMA_URL}
      - POSTGRES_URL=${POSTGRES_URL}
      - POSTGRES_URL_NON_POOLING=${POSTGRES_URL_NON_POOLING}
      - REDIS_URL=${REDIS_URL}
    depends_on:
      - db
      - redis
    ports:
      - "3002:3002"

  redis:
    image: redis:7.2-alpine
    command: redis-server --protected-mode no
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    restart: unless-stopped

  minio:
    image: quay.io/minio/minio
    mem_limit: 512m
    command: ["minio", "server", "/data", "--console-address", ":9090"]
    environment:
      - MINIO_ROOT_USER=minioadmin
      - MINIO_ROOT_PASSWORD=minioadmin
    ports:
      - "9090:9090"
      - "9000:9000"
    volumes:
      - "miniodata:/data"

  nginx:
    image: nginx:latest
    ports:
      - "443:443"
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./local-casebender.crt:/etc/nginx/certs/local-casebender.crt:ro
      - ./local-casebender.key:/etc/nginx/certs/local-casebender.key:ro
    depends_on:
      - app

volumes:
  miniodata:
  pgdata:
  redis_data:
```

## Passo 6: Configurar DNS Local

Adicione a seguinte entrada ao seu arquivo hosts:

### Para macOS e Linux:

```bash theme={null}
sudo echo "127.0.0.1 local.casebender.com" >> /etc/hosts
```

### Para Windows:

Adicione a seguinte linha ao arquivo `C:\Windows\System32\drivers\etc\hosts`:

```
127.0.0.1 local.casebender.com
```

## Passo 7: Iniciar a Aplicação

1. Baixe as imagens necessárias:

```bash theme={null}
docker-compose pull
```

2. Inicie todos os serviços:

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

3. Monitore os logs:

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

4. Acesse a aplicação em `https://local.casebender.com`

## Credenciais de Login Padrão

Após implantar o CaseBender, você pode fazer login com as seguintes credenciais padrão:

```
Usuário: admin@casebender.app
Senha: secret1234
```

<Warning>
  Por razões de segurança, recomendamos fortemente que você altere essas credenciais padrão imediatamente após o seu primeiro login.
</Warning>

## Solução de Problemas

### Problemas Comuns

1. **Avisos de Certificado**:

   * O navegador mostrará um aviso de segurança porque estamos usando um certificado autoassinado
   * Clique em "Avançado" e prossiga para o site
   * Para fins de desenvolvimento, isso é esperado e seguro

2. **Conflitos de Porta**:

   * Certifique-se de que as portas 80, 443, 3000-3002, 5433, 6379, 9000 e 9090 não estão em uso
   * Se necessário, modifique os mapeamentos de porta no docker-compose.yml

3. **Conexão com o Banco de Dados**:

   * Verifique os logs do PostgreSQL: `docker-compose logs db`
   * Verifique as credenciais do banco de dados no arquivo .env
   * Certifique-se de que o banco de dados está em execução: `docker-compose ps db`

4. **Dependências de Serviço**:
   * Se os serviços falharem ao iniciar, verifique suas dependências:
   ```bash theme={null}
   docker-compose ps
   docker-compose logs [nome_do_serviço]
   ```

### Verificando Logs

Visualize logs para serviços específicos:

```bash theme={null}
# Todos os serviços
docker-compose logs

# Serviço específico
docker-compose logs [nome_do_serviço]

# Acompanhar logs
docker-compose logs -f [nome_do_serviço]
```

### Gerenciamento de Serviços

```bash theme={null}
# Reiniciar um serviço específico
docker-compose restart [nome_do_serviço]

# Parar todos os serviços
docker-compose down

# Remover volumes (excluirá todos os dados)
docker-compose down -v
```

## Próximos Passos

Agora que você tem o CaseBender funcionando localmente, você pode querer:

<CardGroup cols={2}>
  <Card title="Implantação em Produção" icon="server" href="/deployment/overview">
    Implante o CaseBender em seu ambiente de produção
  </Card>

  <Card title="Configuração" icon="gear" href="/essentials/configuration">
    Aprenda sobre opções avançadas de configuração
  </Card>
</CardGroup>
