Portainer Setup

🐳 Portainer - Setup e Integração

📋 Visão Geral

Portainer é uma interface gráfica web para gerenciar Docker Swarm e containers. Foi integrado ao ecossistema C-Suite para facilitar o gerenciamento de containers, stacks, serviços e recursos Docker.

✨ Funcionalidades

🚀 Instalação Rápida

Opção 1: Script Automatizado (Recomendado)

cd /home/ec2-user/enviroment/apps/c-suite
./scripts/deploy_portainer.sh

Opção 2: Deploy Manual

cd /home/ec2-user/enviroment/apps/c-suite
docker stack deploy -c portainer/docker-stack.yml portainer

Verificar Instalação

# Verificar status
docker service ls | grep portainer

# Ver logs
docker service logs -f portainer_portainer

# Verificar acesso
curl -I https://portainer.internut.com.br

🔧 Configuração Inicial

1. Primeiro Acesso

  1. Acesse: https://portainer.internut.com.br
  2. Crie o usuário administrador inicial
  3. Defina uma senha forte

2. Conectar ao Docker Swarm

  1. EnvironmentsAdd environment
  2. Selecione Docker Swarm
  3. Nome: C-Suite Swarm
  4. Endpoint URL: unix:///var/run/docker.sock
  5. Clique em Connect

3. Verificar Conexão

📊 Uso no Ecossistema C-Suite

Gerenciar Stacks

  1. Stacks → Ver todos os stacks:
  2. csuite-executive
  3. csuite-context
  4. csuite-cashflow
  5. csuite-gateway
  6. csuite-auth
  7. observ (Prometheus/Grafana)
  8. portainer

  9. Deploy Stack:

  10. Clique em Add stack
  11. Cole o conteúdo do docker-stack.yml
  12. Defina nome e variáveis de ambiente
  13. Clique em Deploy the stack

  14. Update Stack:

  15. Selecione o stack
  16. Clique em Editor
  17. Modifique o YAML
  18. Clique em Update the stack

Gerenciar Serviços

  1. Services → Ver todos os serviços
  2. Inspect → Ver detalhes, configuração e labels
  3. Logs → Ver logs em tempo real
  4. Scale → Aumentar/diminuir réplicas
  5. Update → Atualizar configuração (imagem, variáveis, etc.)

Monitoramento

  1. Dashboard → Visão geral:
  2. Total de containers
  3. Uso de CPU/Memória
  4. Stacks e serviços
  5. Nodes do Swarm

  6. Containers → Lista de containers:

  7. Status (running/stopped)
  8. Uso de recursos
  9. Logs
  10. Terminal

  11. Images → Gerenciar imagens:

  12. Pull novas imagens
  13. Remover imagens não utilizadas
  14. Ver histórico

🔐 Segurança

Recomendações

  1. Senha Forte: Use senha complexa para admin
  2. HTTPS: Já configurado via Traefik/Let's Encrypt
  3. Acesso Restrito: Considere restringir por IP (opcional)
  4. Backup: Faça backup regular do volume portainer_data
  5. Updates: Mantenha Portainer atualizado

Restringir Acesso por IP (Opcional)

Edite portainer/docker-stack.yml e adicione:

labels:
  - "traefik.http.middlewares.portainer-ipwhitelist.ipwhitelist.sourcerange=192.168.1.0/24,10.0.0.0/8"
  - "traefik.http.routers.portainer.middlewares=portainer-headers,portainer-ipwhitelist"

🔄 Integração com Gateway

O Portainer está integrado ao CSuite Gateway e aparece no dashboard unificado:

📝 Comandos Úteis

Deploy/Update

# Deploy
docker stack deploy -c portainer/docker-stack.yml portainer

# Update (após mudanças)
docker stack deploy -c portainer/docker-stack.yml portainer

# Remover
docker stack rm portainer

Backup

# Backup do volume
docker run --rm \
  -v portainer_portainer_data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/portainer-backup-$(date +%Y%m%d).tar.gz /data

# Restore
docker run --rm \
  -v portainer_portainer_data:/data \
  -v $(pwd):/backup \
  alpine tar xzf /backup/portainer-backup-YYYYMMDD.tar.gz -C /

Troubleshooting

# Ver logs
docker service logs -f portainer_portainer

# Verificar socket
docker exec $(docker ps -q -f name=portainer) ls -la /var/run/docker.sock

# Reiniciar serviço
docker service update --force portainer_portainer

🐛 Troubleshooting

Portainer não inicia

Sintoma: Serviço não aparece ou não inicia

Solução:

# Verificar logs
docker service logs portainer_portainer

# Verificar se socket está montado
docker service inspect portainer_portainer | grep -A 5 Mounts

Erro de conexão com Docker

Sintoma: "Unable to connect to Docker environment"

Solução:
- Verifique se /var/run/docker.sock está montado
- Verifique permissões do socket
- Reinicie o serviço: docker service update --force portainer_portainer

WebSocket não funciona

Sintoma: Terminal ou logs não carregam

Solução:
- Verifique middleware portainer-headers no Traefik
- Verifique se X-Forwarded-Proto: https está configurado
- Verifique logs do Traefik

Certificado SSL inválido

Sintoma: Erro de certificado ao acessar

Solução:
- Aguarde alguns minutos para Let's Encrypt gerar certificado
- Verifique logs do Traefik: docker service logs traefik
- Verifique se o domínio está correto

📚 Recursos Adicionais

✅ Checklist de Instalação


Última atualização: 2025-12-06

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir