# MANUAL TÉCNICO - DEPLOY E ACESSO AO PORTAINER CE

**Código:** ITGSUP 0008/26 | **Classificação:** RESTRITO
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}

## 1. HISTÓRICO DE REVISÃO

> ⚠️ **REGRA DE OURO:**
> 1. **Autor:** João Pedro Toledo Gonçalves.
> 2. **Descrição:** Criação do documento.

| Data | Versão | Descrição | Autor |
| :--- | :--- | :--- | :--- |
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |

## 2. OBJETIVO
Instalar o Portainer CE (Community Edition) para gerenciamento visual de conteineres, imagens e redes, utilizando a instalação via Docker STANDALONE (Não Swarm).

## 3. PRÉ-REQUISITOS
- [ ] Docker Engine instalado e rodando.
- [ ] Porta 9443 liberada no Firewal do Host.
- [ ] Acesso root/sudo.

## 4. PASSO A PASSO (EXECUÇÃO)

**Etapa 1: Persistência de Dados**
1.  Crie o volume para salvar as configurações do Portainer.

```bash
docker volume create portainer_data
```

**Etapa 2: Deploy do Container**
> 🚀 **DICA:** O Portainer precisa de acesso ao socket do Docker (`/var/run/docker.sock`) para controlar o host.

1.  Execute o comando oficial de instalação:

```bash
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
```

**Etapa 3: Acesso e Configuração Inicial**
1.  Abra o navegador e acesse: `https://{{IP_SERVIDOR}}:9443`.
2.  A tela **"New Portainer Installation"** será exibida.

> [!IMPORTANT]
> Se você demorar mais de 5 minutos, o Portainer desativa o setup por segurança. Reinicie o container com `docker restart portainer` se isso ocorrer.

3.  **Preencha os campos:**
    *   **Username:** `admin` (ou outro de sua escolha)
    *   **Password:** Crie uma senha forte (mínimo 12 caracteres).
    *   **Allow collection of anonymous statistics:** Opcional (Recomendado desmarcar em produção).

4.  Clique em **Create user**.

**Etapa 4: Conectando ao Ambiente Local**
1.  Após o login, clique em **"Get Started"** na opção **Local**.
2.  Você verá a dashboard principal com a lista de Stacks, Containers e Imagens.

## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)

**Problema 1: "Client sent an HTTP request to an HTTPS server"**
*   **Causa:** Tentar acessar via `http://` na porta 9443.
*   **Solução:** Sempre use `https://`. (Aceite o aviso de certificado auto-assinado).

**Problema 2: "Error response from daemon: bind: address already in use"**
*   **Causa:** Porta 9443 ou 8000 já ocupada.
*   **Solução:**
    1.  Verifique quem usa a porta: `sudo lsof -i :9443`.
    2.  Altere o mapeamento no run: `-p 9444:9443`.

## 6. DADOS TÉCNICOS

| Campo | Valor | Descrição |
| :--- | :--- | :--- |
| **Imagem Oficial** | `portainer/portainer-ce:latest` | Use sempre a CE, não a Business (salvo se tiver licença) |
| **Porta HTTPS** | `9443` | Acesso Web seguro |
| **Volume** | `portainer_data` | Dados do banco interno BoltDB |

## 7. VALIDAÇÃO FINAL
- [ ] A URL `https://IP:9443` abre a tela de login?
- [ ] O container `portainer` está com status "Up" (`docker ps`)?
- [ ] O login funciona e mostra o ambiente "local"?
