# Ambiente compatível

Do que o draften precisa no seu próprio servidor, onde ele foi testado e a que
ele se conecta. O procedimento de instalação em si está no artigo
[Instalação passo a passo](/pt/admin/installing).

## Servidor

| | Requisito |
|---|---|
| Processador | **x86-64**. Hoje não geramos imagens para ARM (arm64); vamos gerá-las quando um cliente precisar. |
| Memória | **4 GB**. A interface web roda em duas cópias, para que a atualização não cause interrupção. |
| Disco | **20 GB** – imagens, dois pacotes lado a lado durante uma atualização, o banco de dados e os backups. Caixas de e-mail grandes precisam de mais. |
| Máquina | virtual ou física, tanto faz. |

## Sistema operacional e Docker

- **Linux**, qualquer distribuição com **Docker Engine 24** ou mais recente
  e o plugin **compose v2** (o comando `docker compose`). O antigo
  `docker-compose` avulso (v1) não serve.
- Testado no **Ubuntu Server**, com Docker 28 e compose 2.40 e 5.
- O **Docker Desktop** (Windows, macOS) funciona, mas só para experimentar.
  Para uso em produção, recomendamos um servidor Linux.
- O **Podman** não é compatível – o updater precisa de um socket compatível com
  o Docker e do `docker compose`.
- **Synology e outros NAS com Docker**: o script de instalação foi escrito para
  funcionar ali, mas ainda não rodou em um NAS de verdade.
- As ferramentas `tar`, `base64` e `sha256sum` (ou `shasum`), que quase todo
  sistema tem.
- Os comandos são executados pelo **root** ou por um usuário do grupo `docker`.
  Com HTTPS diretamente no draften, o diretório da instalação fica fechado para
  os outros usuários, então use `sudo`.

## Rede: o que precisa estar acessível de fora

Depende de onde o HTTPS termina:

- **O HTTPS termina no draften** – o draften escuta nas portas **443** e **80**
  (a 80 só redireciona para HTTPS).
- **O HTTPS termina na frente do draften** (proxy reverso, túnel) – o draften
  escuta só em `127.0.0.1:8085` e não fica visível de fora. Quando o proxy roda
  em outra máquina, abra a porta 8085 só para ele.

O banco de dados não tem nenhuma porta.

## Rede: a que o draften se conecta

A instalação em si não precisa de internet – o pacote traz todas as imagens e
nada é baixado do Docker Hub nem de outro lugar. Em operação, o draften se
conecta só aonde você o mandar:

| Para quê | Endereços (porta 443; IMAP e SMTP conforme o servidor) |
|---|---|
| Microsoft 365 | `login.microsoftonline.com`, `graph.microsoft.com` |
| Google Workspace | `accounts.google.com`, `oauth2.googleapis.com`, `openidconnect.googleapis.com`, `www.googleapis.com`, `gmail.googleapis.com` |
| outra caixa de e-mail | o seu servidor IMAP |
| modelos de linguagem | `api.anthropic.com`, `api.openai.com` ou o endereço do seu servidor compatível com a OpenAI – conforme as chaves que você informar |
| envio de e-mails (convites, links de senha) | o seu servidor SMTP, ou `api.brevo.com` |
| integração com CRM | `api.hubapi.com` (HubSpot), `app.raynet.cz` (Raynet), `api.flowii.com` (FLOWii) |
| updater: novas versões | `download.draften.ai` – uma vez por dia a lista de versões e, na atualização, o download do pacote (cerca de 500 MB); só com a licença carregada |

Nenhuma telemetria nem relatório de erros sai da instalação própria para nós.

Quem publicar o draften por um **Cloudflare Tunnel** precisa também de conexão
com a Cloudflare, conforme a documentação dela, e da imagem `cloudflared`, que
o Docker baixa do Docker Hub – ela não está no pacote.

## E-mails e modelos

- **Sistemas de e-mail**: Microsoft 365 (Exchange Online), Google Workspace
  e outras caixas de e-mail por IMAP. Veja [Microsoft 365](/pt/admin/microsoft-365),
  [Google Workspace](/pt/admin/google-workspace) e
  [Acesso aos e-mails](/pt/admin/organisation-mail-access).
- **Modelos de linguagem**: Anthropic, OpenAI e servidor compatível com a
  OpenAI, por exemplo um modelo local. Veja [Chaves de API dos
  modelos](/pt/admin/api-keys).

## HTTPS

A interface precisa estar acessível por HTTPS. As três opções – certificado
diretamente no draften, o seu proxy reverso ou um Cloudflare Tunnel – estão
descritas no passo sobre HTTPS em [Instalação passo a
passo](/pt/admin/installing). O certificado você mesmo obtém (de uma autoridade
certificadora ou com um cliente ACME).
