manuais-e-documentacao-itguys/documentacao conteineres/Nivel_1/Gestao_Stacks_Portainer.md

3.1 KiB

MANUAL TÉCNICO - GESTÃO DE STACKS NO PORTAINER

Código: ITGSUP 0009/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

Padronizar o deploy de aplicações (Stacks) no Portainer utilizando três métodos: Upload Manual, Templates de App e Repositório Git (GitOps Básico).

3. PRÉ-REQUISITOS

  • Portainer instalado e acessível.
  • Um arquivo docker-compose.yml válido E/OU Uma URL de repositório Git (GitHub/GitLab).

4. PASSO A PASSO (EXECUÇÃO)

Etapa 1: Deploy via Web Editor (Rápido)

  1. No menu lateral, clique em Stacks -> Add stack.
  2. Selecione a opção Web editor.
  3. Name: Dê um nome único (ex: meu-nginx).
  4. Cole o conteúdo do seu docker-compose.yml na área de texto.
  5. Clique em Deploy the stack.

Etapa 2: Deploy via App Templates (Iniciantes)

  1. No menu lateral, clique em App Templates.
  2. Selecione uma aplicação pronta (ex: "Wordpress" ou "Nginx").
  3. Preencha os campos (Nome, Senha do Banco).
  4. Clique em Deploy the stack.

Etapa 3: Deploy via Repositório Git (Recomendado/GitOps)

🚀 MELHOR PRÁTICA: Permite versionamento e "Single Source of Truth".

  1. Vá em Stacks -> Add stack.
  2. Selecione Git Repository.
  3. Configuração:
    • Repository URL: https://github.com/usuario/repo.git
    • Repository Reference: main (ou refs/heads/main).
    • Compose path: docker-compose.yml (se estiver na raiz).
  4. Authentication (Se privado):
    • Ative "Authentication".
    • Use seu Username e, preferencialmente, um Personal Access Token (não sua senha).
  5. Ative Automatic updates (Opcional) para polling.
  6. Clique em Deploy the stack.

Etapa 4: Edição e Updates

  • Web Editor: Clique na stack -> Editor -> Update the stack.
  • Git: Faça o commit no Git -> No Portainer, clique em "Pull and redeploy" (ou aguarde o Auto-update).

5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)

Problema 1: "Deployment error: Stack already exists"

  • Causa: Já existe uma stack com esse nome (mesmo que parada).
  • Solução: Delete a stack antiga ou use outro nome.

Problema 2: "Authentication failed" no Git

  • Causa: Senha incorreta ou uso de senha ao invés de Token (GitHub exige Token).
  • Solução: Gere um PAT (Personal Access Token) no GitHub (Settings -> Developer Settings) e use como senha.

6. DADOS TÉCNICOS

Campo Valor Descrição
Padrão docker-compose.yml Formato obrigatório
Limit Stack Equivalente a um projeto Docker Compose

7. VALIDAÇÃO FINAL

  • A stack aparece com status "Active"?
  • Os conteineres subiram corretamente?
  • Alterar o Git reflete no Portainer (se testado pull)?